PIC MCUs C language Compilers and IDE for PIC16F and PIC18F
I've personally found in my limited experience of PIC programming, that the Microchip MPLABX IDE and the XC compilers had all the functionality that I needed. As far as I am aware, the only pitfalls I found were that the free version doesn't allow high compiler optimization of your code, but I didn't find it impacted negatively on what I was doing.

I haven't tried any "free" PIC alternatives, but knowing the amount of pain I went through trying to set up a GCC for GNU compiler in Eclipse, I can say that MPLAB X is an absolute breeze to pick up for beginners.

NOTE: Microchip don't make it obvious, but the C18 compiler you linked is actually an older generation. The XC suite being the new one.

For you, I would recommend getting the MPLAB X IDE and then installing the MPLAB XC8 compiler, which supports PIC12, 16 and 18. (Check under the Downloads button)

I have only the XC16 compiler installed currently, but when I run MPLAB X IDE and click New Project and select a PIC18 as the device, it asks me for a toolchain to work with like so (I'm given a choice between C18 and the XC8 all-in-one, though some PIC16's are only supported by XC8):



Once you have installed the XC8 and the X IDE, in it, you can just click File > New Project, and then under Samples you will find a C template and example "blinky" code for all the targets. 



You will also need a picKit for programming or debugging your code on your target.

Don't hesitate to comment if I haven't explained something properly :)