Each forum or chat exists inside a course so you have two options: use the front page or a metacourse.
If you create chat/forums on the front page then all users with accounts can access. You could make a forum/chat for pastry and then if someone was in the course puff pastry and another person was in tarts, they would both use the same forum/chat on the front page to discuss pastry. With this setup someone who was enrolled in Sauces could also join the pastry discussion. You could create a forum/chat on the front page for each general category of discussion.
With a metacourse, you create a course that is linked to everycourse in the pastry category. This metacourse will hold general pastry discussions. If someone is enrolled in a course in the pastry category they automatically are enrolled in the Pastry metacourse. This way folks who are only taking classes on Sauces won't be able to participate. You can search for more help on Metcourses in Moodle Documentation.
Remember chat is real time, while forum is asynchronous.
Hoepfully that helps (sounds like a delicious use of Moodle