El PICkit2 programa los microcontroladores con ICSP, este permite programar al pic sin necesidad de sacarlo del circuito de aplicacion, y utiliza 5 pines para programar, las cuales en el PICkit2 son:
1-Vpp(la que tienen la marca con una flecha en el pickit): voltaje de programacion
2-Vdd:+5V
3-GND:0v
4-ICSPDAT(PGD): Datos
5-ICSPCLK(PGC): Reloj
6-Auxiliar: se usa en algunos casos como ICD.
Entonces para programar cualquier microcontrolador lo unico que hay que hacer es conectar las señales que mencione antes con los pines del PIC que tienen el mismo nombre. La base del starter kit lo unico que hace es conectar mediante pistas de un circuito impreso las lineas correspondientes a los pines. No se puede programar PICs de 18 pines porque la tarjeta no esta diseñada para el orden de pines que utilizan los PICs de 18 pines como el 16F84A, 16F628A, 16F88, etc.
Claro que si se desea programar un PIC con una cantidad de pines diferentes al del starter kit, lo unico que hay que hacer es conectar los pines correspondientes del pic al PICkit2, tomando en cuenta que hay que crear un aislamiento entre las señales de programacion y el circuito de la aplicacion que este realizando.
Aqui coloco un diagrama de como se podria conectar un 16F84A con el PICkit2, coloque un circuito basico que aisla las señales de programacion de las de la aplicacion, dependiendo de la aplicacion hay que modificarlo, se puede armar el circuito en la protoboard por ejemplo.
De igual forma se puede programar casi cualquier PIC, yo he programado el PIC16F688, 16F648A, 16F88, 16F690, 16F886, 16F887 y 18F2550. Para mas información sobre ICSP y el pickit2 dejo estos dos links:
Manual pickit2
http://ww1.microchip.com/downloads/en/DeviceDoc/51553B.pdf
Informacion sobre ICSP
http://ww1.microchip.com/downloads/en/DeviceDoc/30277d.pdf