Silly me, I was quite mistaken in my simple solution (and it only took me a few minutes after posting to realize it); however, this exercise reminded me of a 2011 feature: reset. This works for SC_METHOD processes, but is inconvenient for SC_THREADs. I enjoyed working the puzzle.
You can see a full working example here: https://www.edaplayground.com/x/39QM
When registering your SC_METHOD process capture the process handle and specify dont_initialize().
At the start of your method implementation, check for the trigger state of reset_event and return immediately if triggered.
To reset static sensitivity, simply issue reset on the process. Include a comment that you are simply interrupting.
Note 1: This assumes you are using a version of SystemC 2.3.3 or later. If using 2.3, you will need to add a bool flag that is set at the time of invoking reset and cleared inside the process upon detection.
Note 2: You could also use reset_signal_is(); however, that would require adding deassertion and would be messier in my opinion.
An alternate and less intrusive method would be to simply add an interrupt event into the sc_event_or_list every time you change sensitivity:
next_trigger(some_event | interrupt_event);
Unfortunately, this doesn't work for sc_event_and_list; however, you can synthesize that situation with another process. I will leave that for you to figure out.