1)What programmer to choose — AVR910 USB
2)do you Need USB dongles driver is Needed, they are on the Internet next to the diagrams Here
3)How to choose a microcontroller — AtMega8 or AtMega48 or AtMega88, take this as AtTiny13 and AtTiny2313
4)What software is needed for development? Atmel Studio enough! For beginners I would advise CodeVisionAVR, there are a lot of examples and code generator is(to flash them)
5)we Need a simple scheme — here
features in-system firmware — don't think so.
PS Use Proteus'ohms, a very useful thing.