Both AVR or PIC are good. It seems PIC are more popular now and also cheaper than Atmel ones. It's a long battle wich on is the best. Personnally i use PICs (from the 10F to the DSPIC) all the time for all of my project... when i can fit one in
Those who use Atmel will say Atmel is best and you know
Anyways, wich language to use? Learn assembler first then choose one between BASIC (even if some seems to have some problem with that) or C.
Basic is more simple to learn. Faster? More efficient? Well it depend how much of built-in function you'll use.. some are pleased to use some built-in function when few lines of codding are much code efficient... it's just experience i guess.
C is really good too, a bit harder to learn but, depending wich one, tend to compile tightest code than BASIC. BUT it's always depend wich built-in function you use.
Every compiler in the whole world have the same mission... make things simpler and reduce the time to market delay. Whatever you use, even if you use the C and your programming method is poor, results will be the same. Keep in mind that some are really new on the market and may contain some bugs. I know some that still have some problem with some 'basic' function like loop. anyways, not interesting at this moment.
There's no better language, what make it better is the guy behind the keyboard... sorry if this one start flames by some sensitive user. BTW i use both C and Basic. Basic is the main i use. In both i'll insert some assembler line when needed.
Ask yourself what you need to do, how much money you want to spend, how much time you want to spend on the learning process, then have a look to the compiler website, try their demo, have a look on their forum and have fun! That's it
Compiler i use and safely recommend Hi-Tech C, and Melabs PICBasic PRO.