Most people forget the simple first step of proving the hardware works correctly and that you are reading from the correct pin.
Write simple code that continously reads the pin and prints out a 1 or 0. If you push the button, and the number doesn't change, then you have a hardware problem or you are reading the wrong pin.
If the above doesn't track the pushbutton, then interrupt code sure the heck won't work.
I don't know PIC, so you might need to clear your interrupt in the interrupt function?