Try the TIMER (Buttons.bas) example I just posted under the SINGLE BUTTON FUNCTION thread or OLYMPIC TIMER, both contain a GOSUB within an ISR.

You have to treat an ISR as if it was a SUBROUTINE except you exit with a RESUME rather than a RETURN.

The only thing you have to remember is the TOTAL number of pushes made on the stack do not exceed the maximum allowed for your PIC.