Can anyone advise what hardware and software is required for debugging AVR in circuits?
Normal ISP programmers have no JTAG debugging capabilities. For this you will need slightly more expensive hardware. A JTAG in circuit emulator will enable you to let your circuit communicate with your PC while you are running the firmware. This way you can set breakpoints, watch the memory, enable/disable pins and see the exact status of your micro controller. The ISP programmers from EMSL and Adafruit will not let you do this.
One of the cheapest programmers that have in-circuit emulation capabilities is the AVR Dragon. It will cost you about $50,-. It is cheap for a reason though: it's too easy to overload the circuit and break the programmer. If you get one I recommend that you find some form of protection like a DragonRider or a DragonHide. (I already killed my first dragon which is surprisingly easy to do)
You can also try and build one yourself.
Another option for hardware may be the Bus Pirate at $27.15(sold though seedstudio) which also do other things. I haven't used it for JTAG yet, but this is what the manual says: link.