on interrupt goto . . . the devil !
On interrupt is a junk imitation of a real interrupt. It places a flag on the stack when the port change interrupt occurs and continues doing what it was doing . . .until it finishes what it is doing. You have set WDT to off and what is to awaken the PIC from sleep ? I would set WDT to ON and probably set up and use Darrel's instant interrupts. Then you have assembly interrupts at PBP control. On interrupt works like a gosub.