mikroC is the most popular choice, and you'll be able to find a lot of free code and tutorials – as well as freelance opportunities — that use or ask for mikroC.
mikroBasic is the best choice for beginners because of the simple syntax and clear code.
mikroPascal encapsulates strong data types, very nice syntax, and has probably the best balance between simplicity and control.
16-bit PICs lie in the middle-ground, providing an easy way to upgrade from 8-bit PICs, but a more cost-effective solution compared to 32-bit PICs. The diverse MCU offering includes eXtreme Low Power MCUs and high performance digital signal controllers.