if you look in the default code in the interrupt handler
Code:
else if (INTCONbits.RBIF && INTCONbits.RBIE) /* DIG I/O 3-6 (RB4, RB5, RB6, or RB7) changed. */
{
int_byte = PORTB; /* You must read or write to PORTB */
INTCONbits.RBIF = 0; /* and clear the interrupt flag */
}
PORTB is the register. You have to read/write to it before you can clear the flag. Have a look at how Kevin does it in his encoder code, and do you know bitwise operators and the such?