OK here is my thoughts. You need a PIC programmer of course to program PICs.
1. MPLAB is a IDE (BUT it has ASM built in which is technically being compiled)
2. ASM is a programming language.
3. If you want to program in C there are many choices.
For PIC10/12/16/18/32 ... well all pics in C you can use Hi-Tech compiler:
Embedded C Compilers and Tools for Software Development: HI-TECH Software
For PIC18F only you can use C18 which is best in my opinion... but im leaning toward Hi-Tech now.
You can debug using MPLAB sim but its no fun
i suggest you get a PICKIT 2 or Bills Junebug.
blueroomelectronics - Smart Kits Build Smart People
i also suggest you learn to blink a LED in asm before starting with C. This will definitly help you in C. Because you will better understand loops and the way the PIC registers are accessed.
If i was you i would start with a PIC16F687 or a PIC18F2480.
Both contains SPI/I2C hardware built in. Which will help you connect to other devices like external eeprom, sensors, etc..