Start off with embedded C with ATmega32 (ATmega AVR series)
The avr-libc documentation is a great source of information for C on AVRs.
Here's another one.

Personally, I prefer working in C. Making use of avr-libc gives you good code portability within the AVR family. However, if you're doing anything timing critical, you may have to resort to ASM.

If you have a parallel or "high voltage" AVR programmer then you can always reprogram the fuse bits. If you're using serial (In-System-Programming, ISP) then be careful not to disable the SPIEN or RESETENABLE bits as these will prevent you from being able to reprogram.

There's an Arduino HV programming shield available.