Re: rb0 interuupt pic
I think it should detect the interrupt.
However, I do not sse where you save/restore the STATUS register in the ISR. Maybe that causes problems later in the code and makes it look like it did not detect an interrupt.
Please see page 109 of the datasheet (Example 14-1) for the correct way to save restore the W and STATUS registers. Simply copy that code.
It is important to use the swapf instruction to save/ restore the STATUS register, because, unlike the movf or movwf, this instruction, swapf does not alter the flags.