How can you hide some of the tickets from general searches, so that only certain teams can only see incidents for their team (for example)?
This is done in Configure Applications > Users and Roles > Roles and Permissions. Select a role. For example, the ChangeManager role. Select the object in question, and click "Edit" under the right-hand "Access" column.
You will use the following, to say that "When logged into this role, a user will only be able to see incidents for which the Team of the Incident is the same as their team":
As a note, if the user has multiple roles, and you want to enforce this across multiple roles, you will need to configure it in the same location, for each desired role.