Mike,

I would suggest delegating switch debounce/management to the ISR
With his switch inputs on RB7-RB4, how would you go about that without waiting for a switch release, and then clearing the int-on-change flag bit?

Wouldn't releasing the switch re-trigger the interrupt?