Take into account that not all programmers are created equal and may have compatibility problems with different microcontrollers and IDEs/software suites. E.G. if you want to use Atmels IDE, AVR Studio, make sure the pocket AVR programmer supports it. Otherwise you may be stuck with AVRDUDE, eclipse, etc.
I have the Pololu USB programmer and it works fine. I believe it is the cheapest one on that list that can be used with AVR studio. That seems like a big plus to me personally.
I second that - AVR Studio is also a big plus for me. I would personally buy the pololu AVR programmer, it can also be used as a slow oscilloscope and USB to serial converter.
A simple way to be sure you limit your code properly
This is something I am doing as I adjust my code for one device to work with an ATTiny…
I picked up a large breadboard and I have my AdaFruit 32u breakout mounted at one end. I am wiring a “virtual chip” right below it by bringing down the relevant pins to the imitate the DIP package for the ATTiny we plan to use. All other components will be wired to the “virtual chip”. I will probably use a couple of short pin header blocks so it is easy to unplug. That way I can do the occasional “sanity check” by using an actual ATTiny in place of the virtual one, compiling my code with no USB diagnostics and programming the ATTiny with it.
My justification for this is that high speed diagnostic output has always been the easiest way for me to debug something that runs in real time. An ICE is helpful of course, but breakpoints only stop the processor and not external events. I used traces a lot when I programmed in assembly, but that is a really tedious way to debug and I am not sure how easy it is to get a trace that correlates to compiled source. Testing for and logging events of interest just works better for me. YMMV…
I found a very good overview of AVR programming methods here, which describes limitations and strong points of different methods. Definitely some good knowledge from Dean Camera who is a very knowledgeable and experienced AVR user (he has great AVR tutorials by the way).