You can restrict Support Agents to view only their records/requests. To restrict requests & records, you have to first setup your organization Role Hierarchy. For example, Team leaders can access all the Support Agents records where as Support Agents ...
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.
Yes, you can search across Departments. Using the Global Search on the right pane of [Module] Home Page and select "All Department" option. Refer to the image below.
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.