My question is...Is there a way i can do the jumps to where i want on the code and not being forced to return to where i was when the interrupt was triggered?
no , the isr must return to the point it was triggered from. if you try manipulating the stack to alter the return address without the proper skillset and understanding it will always result in unpredictable behavior.
if you structure your code to check frequently for a flag set from the isr that causes different processes to be invoked its possible to simulate the sort of result you are looking for