Microchip have more variations of their programming protocol than you can shake a stick at. Apart from a small handful of obsolete legacy OTP EPROM devices, they are all vaguely SPI like with a bidirectional data line and a clock line provided by the programmer, and instead of a /CS chip select, an active high VPP and in some cases a PGM signal. Some PICs need 12.5V to enter programming mode, some less, and some just need a normal logic '1' on Vpp with a special code sequence clocked in on the data line. There is no single document that gives all the programming specs. You have to trawl though the datasheets for indovidual devices to see which ones have the same programming spec. If you want to support more than a few individual devices, its a PITA just gathering the data!
However the whole PICkit 2 system except for the MPLAB 8/X driver interface is open source - that's the firmware, the standalone Windows GUI, and the cross-platform command line utility, + the full schematic is published so why re-invent the wheel? You can add whatever you need to the software, (as long as that isn't support for 3rd party chips, which Microchip does take action against).