PIC18F67J60 programming errors with PicKit 2
There are some ports called In Circuit Serial Programming that PICkit uses to feed the hex code into the microcontroller serially. When an external switch provides a voltage on these ports, this causes problems with the PICkit. You'll have to either disconnect these or put them in ground mode.

It's given in the PIC18F67J60  manual that:


  The PGC and PGD pins are used for In-Circuit Serial
  Programming™ (ICSP™) and debugging purposes. It
  is recommended to keep the trace length between the
  ICSP connector and the ICSP pins on the device as
  short as possible. If the ICSP connector is expected to
  experience an ESD event, a series resistor is recommended,
  with the value in the range of a few tens of
  ohms, not to exceed 100Ω.
  Pull-up resistors, series diodes, and capacitors on the
  PGC and PGD pins are not recommended as they will
  interfere with the programmer/debugger communications
  to the device. If such discrete components are an
  application requirement, they should be removed from
  the circuit during programming and debugging.


Check them out and try grounding them or disconnecting them.