As you have a priority based escalation rather than SLA based it is reasonably simple to add new levels. It works as a cascading tree essentially, select the level you wish to have an override at and then click Set Exceptions and add the new level in.
All existing tickets will continue on their existing escalation until either the status or one of the exception fields is changed e.g. priority or service then the ticket will continue on its new schedule.
Caution you can move a ticket on to an escalation with less time than it originally had, if it has already passed this time then the ticket will instantly breach.
The level I want to put an exception on already has an exception. I want to effectively add in a new exception based on Service Provider at the default level and have the existing tree move below one of the values under that (IT). If I attempt to add a new exception on a level with an existing one I get a warning:
If there isn't an easy way to do that I think I'd have to delete what we have so that I can add the exceptions in the order I need them to be in so I want to understand what implications that might have.
Ah ok, you will need to start over in that case and drive form the service provider down. This would be the most logical approach as well.
If you do reset them all I would then write an action which updates all active call e.g. changes there status from a to b and then back to a (hold status a in a temp field somewhere) except waiting for and that will trip the new escalations.
Obviously test in staging first on a clean build.