So with regards to #1, I turned off the "restrict ticket assignment to department members" at the department level. That let the ticket be assigned to a team member after it has been assigned to the team, but has the side effect of allowing the ticket to be assigned to anyone anywhere. Not sure I liked this. Would be nice if having a ticket assigned to a team gave that team departmental-level access for ticket assignment to override the restriction flag just for that ticket.
So what I thought I'd do was use a combination of teams and departments, and turned the restrict ticket assignment to department back on.
This lets the department (location/facility/office) manager send tickets to herself or to the IT or Building Maintenance teams. This is basically the local approval process.
Once the team gets the ticket, the team leader then transfers it to his department. Once there, he can assign it to an individual team member. This department transfer serves essentially as an acknowledgement that the ticket is now owned by that group and it gets removed from the originating (office) department group. After some thought, this makes the most sense. Since we use help topics to identify departments on ticket entry, that info is preserved after the ticket moves to the service department. The two service departments get a list of all their tickets. The department (office) manager has a list of unprocessed tickets, and tickets for her own internal use.
Unfortunately, moving the ticket to a different department under this scenario appears to only be a temporary process. While the ticket is open, it shows up to both the original department manager and to the new department manager. Once closed, it goes back to the original department manager's closed ticket list and all record disappears from the transferred department manager's ticket lists. I think this may be a bug, but I'm not altogether certain.
So I did some more testing. If the original department manager transfers a ticket to my IT Support department, I, as IT Support department manager, can't see it in my ticket queue. This is with no team assigning going on. The ticket shows it's in my department, but it stays with the original department's queue and I can't see it despite being in a group that give me access to all departments.
I'm still tweaking settings, but this doesn't sound like it would be expected behavior...