IMHO you can't go wrong with WinAVR and Avrstudio, nice to have everything integrated.
IIRC GCC is not available for PIC but microchip has an (probably timelimited) free trial of their compiler. Microchip is also generous in sending out samples.
If you go with AVR (digikey has a lot of AVR stuff) look into getting the dragon, it will allow you to do in circuit debugging on the smaller devices(<32k flash) and will do incircuit serial programming also.
Regarding running code in different AVR's, while the basic core is the same the peripherals are not so it is mandatory to check/modify the code anyway. If programming in C I would guesss it is not much more difficult to port PIC programs between series. hmm acutally if programming in C and you have similar peripherals it is not too difficult porting between AVR and PIC also....
www.avrfreaks.net is a good place to get some more insight into AVR's..