This is not a debate of why you would need to do it but how to do it.
With AVR, this is easily done as one can modify the stackpointer or push/pop values from the stack.
With 16F PIC, it is a bit more involved. You need to place(sometimes more than one) check bit instructions inside every routine and jump to "decisions" every time the bit is found set. Inside the ISR, you set that bit and return.
On start executing the "decisions" code, you reset the bit to false.