Here is what I see:
I see no config fuse settings in his code.
I see a circuit board set up to use an oscillator module, not a crystal or resonator, so it would seem necessary to set fuses for External oscillator. Keypad code looks VERY FAMILIAR, like something mr_e once tossed together so I am pretty sure it is tested and working. In conclusion, I believe you need to work on your config settings, which should contain statements about _CONFIG1 EC_OSC and WDT_OFF etc . . .
look at this data sheet.
http://ww1.microchip.com/downloads/e...doc/39564b.pdf