The free C variants (we also have C++ for PICs) here are in no way better than JAL in the resulted HEX file.
You would still have to learn a new language. Ok, not a big deal and it is knowledge that you rack up, but if you want to develop fast, you may not have time to mess around with the language.
Unfortunately, and I don't know why, Microchip don't want to release for free his PIC C compilers and I mean the ones with the full optimization. We always wanted to have a GNU C compiler as AVR programmers have.
Stop buying their chips... I can guarantee you that if their sales volume dropped because people preferred to use AVR-GCC for free, the C compiler would be given on MPLab. If I remember correctly, the AVR family started after the PICs, so to make the chips more appealing they released the C compiler. I'm doing a bit of guessing here but I'm very likely to be right.
It is a little unfair to compare the prices for ATmega328 when it can't be supplied anymore in DIP package - is missing also form two online shops from my country, where I have access. We have plenty of AVRs here - Romania is in Europe
I just bought a ATmega328P in a DIP package... in Singapore. :\ It is also easily available through Europe.
Now... this is becoming very similar to posts like VHS vs BETA or MAC vs PC or the latest iOS vs Android.
In the end, what matters is that the job gets done.

Like I said, the important things about microcontrollers are to know how to configure the registers (fuses, etc) and I learned that on a PIC, and when I moved to 8051 or AVR it was as simple as reading a manual to find out where these registers were. And also knowing Assembly. You don't have to program with it, but knowing it helps when using higher level languages so you can understand how some code is going to be "translated". The rest is not as important.
