This question has been asked before, do a search on the forum.
My opinion is: the difference is a matter of taste. In some places, like in my country, Romania, students at the university study PICs and 8051s. AVR is rather new, not so many examples and references. But this is changing fast, since more people chose AVRs for their projects since they are a little more powerfull than PICs. There are many microcontrollers based on PICs that offer you an easier way to work with them (integrated bootloader), like BasicSamp, Dios, Nemesis... Programing language is also a matter of taste. In the university they learn C because it is a more powerfull language than others. Basic is the beginner's choice, since it is easier to learn and powerfull enough for most projects. Java is another option, both PICs and AVRs have a interpreter with an integrated bootloader. So chose whatever you think you will be more comfortable to work with.