Chris, by default IntelliJ IDEA will scan the file system frequently (including when the IDE window gains focus) and reconcile the physical file system contents with its last known internal virtual file system state. When it does this, it fires events for adds, updates, and deletes. Illuminated Cloud listens for these events and can react to them automatically. By default IC will not automatically deploy code for add and update events resulting from external changes. You can enable this under
Settings>Illuminated Cloud>Validation and Deployment by checking
Deploy on external change. As for deletes, IC will prompt you as to whether deleted files should be propagated into the org. The problem is that if you haven't deployed updated files that reference those deleted files, the delete operation in the org will likely fail.
So, based on this explanation, what I would do is keep Deploy on external change disabled and, after switching branches, use IC to deploy the metadata for your project/module (Build>Illuminated Cloud>Deploy Modified/All Metadata). Once that completes, start the recently-added bulk delete action (Build>Illuminated Cloud>Delete Metadata) and filter to Server Only (uncheck Local Only and Local + Server). Depending on your metadata subscription, you may see some items that weren't deployed by you (sample data in dev orgs, etc.), but overall make sure the that should no longer be there are selected and click OK. When the delete completes, your org should reflect your local branch.
There are probably ways to automate this a bit more, but it's hard to know exactly what can/should be safely removed from the org, and I'd rather err on the side of caution when doing so.
Hope this helps!
Scott