Anything with more than 40 pins from microchip is a surface mount device, so can't be plugged into a DIL ZIF.
I find it easiest to programme the PIC once it has been soldered down. 6 holes wired to +ve, -ve, MCLR, ISCP clock and ISCP data, on 0.1" pitch for the pickit2 or pickit3 works fine.
If you do not want an ISCP connector on the target PCB there are systems where you just use pads and make the connection with spring loaded pins. Pogo pins might be the name. There are other test clip like setup but they are very expensive.
As folks have mentioned ICSP is the way forward, minimal additional circuitry(if any).
No need to worry about ESD from constant handling of chips when using the zero insertion force sockets!
when i very first started out with pics i got it in my head that a ziff was the best way to go, i couldnt get my head round the whole iscp concept. I am so pleased i took on board what everyone on here was telling me and went with a junebug (pickit2 clone) and iscp! deff makes life way easier and quicker. plus i always seem to bend pins taking chips out of sockets so prefer to leave them in once on a board
I've been using ICSP just about as long as I've been using PICs. My first PIC programmer was an Olimex job that programmed via ZIF socket, but it wasn't long before I upgraded to an ICD2 with ICSP. I'm using a PICKit2 now, will be moving on to a PICKit3 when required. The only one advantage I can see with out-of-circuit programming is it eliminates the need to multiplex the PGD and PGC pins with other functions or dedicate those pins entirely. I usually just dedicate them in my circuits. I don't think I've yet run into a situation where I had to use a part with a higher pin count because of it. There's definitely some big advantages to ICSP such as in-circuit debugging and the ease in which you can evaluate changes to your program. Also, the higher pin count parts only come in TQFP or QFN packages and you would need a complex socket to program them out-of-circuit, if it's even practical.