Suggestions for small and handy connector for in-circuit programming?
Go with a set of test pads, if you're going for a production run. 

You can easily get at them with pogo pins - you stick them into a breadboard at predefined locations, and just press your board against it. I've been using this approach for Microchip's ICSP quite well - it also allows you to put the contact pads almost anywhere on the PCB - which simplifies routability for dense circuits.

Adafruit has a nice pack, but they can be purchased from a warehouse distributor like Digikey(US) or Farnell(EU) as well.

http://www.adafruit.com/products/394



Added: My favourite way to use pogo pins:

Take 3 PCBs of your target device. 

PCB #1 is your target PCB - it will be programmed, and you should populate it fully. 

PCB #2 is the guide PCB - drill holes (large enough for pogo pins' head) through all the test pads - it's easier since you see the location. If necessary (such as no mounting holes to begin with), drill holes for spacers too - you're sacrificing this PCB, if you are concerned with the cost at small volume, copy the design over to a blank plastic board, and use it instead.

PCB #3 is the connected PCB - again, drill holes through all the test pads, this time large enough to fit the tail of the pogo pin. Drill holes for spacers - this is also a sacrificial PCB. 

Solder the pogo pins to PCB#3, at such depth that the heads stick out 5mm above PCB#2, with the spacers you have. Solder all the required cables.

Apply eletrical tape or insulating lacquer on PCB2. 

Screw the spacers in, screw the PCB#2 above. This should look like there are just heads of pogo pins sticking out. 

Press the target PCB#1 aligning it with PCB#2.

Profit :)