1. Sure.
2. yes, for AVR chips that support SPI-based SPI programming. That's not all of them.
3. yes, but not for a beginner's first attempts.
(2 and 3) are essentially "advanced" topics where you would be well served to have some experience with electronics, microcontrollers, programming, and the Arduino environment before you attempt. They are essentially, duplicating the sorts of things that hobbyists had to do back before there were "easy" solutions like Arduino. There are a lot of "face palm" moments over in the Arduino forums of the form "I bought an ATmega32 and want to program a bootloader using the tutorial at xxx, but it looks different. Isn't the m32 the same as a m328? Does anyone have an updated tutorial? Do I need to connect both ground pins to a common ground with my programmer? What's this "avrdude" that I hear people talking about; I don't have to use the Command Line, do I?" (Sigh.)
4) Maybe. It would "be worthwhile" to support the official Arduino manufacturer/distributors, or at least the vendors that are somewhat less blatant in there violations of the Arduino trademark and license terms. (say,
http://www.ebay.com.au/itm/Arduino-compatible-UNO-Mega328-ATMEGA328P-2012-R3-for-Arduino-IDE-01052-/281084664051?pt=LH_DefaultDomain_15&hash=item4171f398f3 ) But saving money is also worthwhile.
5) C (avr-gcc) with a smattering of C++ (avr-g++)
6) Lots of stuff, all dependent on what you want to do, and what you've already got. Jumper wires, LEDs, random electronic parts, speakers, switches, pots, motors, shields, chips...
7) A "shield" is a daughter-card that plugs directly into the connectors on the Arduino, and provides some (usually small) bit of functionality in an easy-to-use package. They tend to be pretty drastically overpriced for the parts they contain, but ... not so bad if you would have had to make your own PCB to do the same thing.