Yes, support agents can be associated to multiple Departments. Goto Setup >Admin Settings >Users >edit the Support Rep and associate departments to the Support rep.
No, it is not possible to restrict a particular Departments for selected Customer Portal users. Once a Department is made "Public", all Customer Portal users can access that particular Department.
Yes, you can create multiple departments and have separate e-mail address for each department to track requests. To know more, please click Department and Mail Server Settings.
To create SLA & setup Escalation to supervisors, Goto Setup > SLA Settings > Service Level Agreement and follow the steps. For more, refer SLA and Escalations.