ICSP - not completely. ICSP - In-Circuit Serial Programming. All it means is that you don't have to keep connecting/disconnecting the programmer between code rewrites/fixes, etc. The instructions for modifying an existing circuit (or creating one for that matter are in the PICKIT2 'manual').
Yep, like the next post says, better to say that you don't have to plug and unplug the PIC that you're programming.
Basically, you either isolate (or don't use) PGC/PGD or set it up so that the programmer doesn't try to drive anything important on PGC/PGD, MCLR gets isolated with a diode and a small resistor, Vdd can be left connected as normal as long as your circuit doesn't draw too much current.
The way I do mine is as follows:
PGC/PGD get 100 ohm resistor out to the circuit and they're connected directly to the programmer socket. That way I don't try to drive anything on PGC/PGD (RB6/RB7) with the programmer.
MCLR has a diode and 100 ohms from +5v to the MCLR pin, with MCLR connected directly to the socket. The programmer can't try to backfeed the +5v rail with Vpp from the programmer.
PIC Vdd has a diode from +5v to the Vdd pins and the Vdd pins are directly connected to the programmer socket. Lets the programmer power the PIC during programmer but keeps it from trying to power the entire circuit. If the circuit is small enough, I omit the diode on Vdd and let it power it anyways. I've been powering my circuit with the PICKIT2, drawing a bit over 100mA from it on the +5v rail for awhile now and it's still working without any problems.
Bookmarks