There are "many" C compilers, plus some Basic Compilers, plus "JAL", for 8-bit PICs (PIC10, PIC12, PIC16, PIC18.) Most are "not free" but have free versions with various limitations. Microchip's own 8-bit C compiler is particularly annoying in its "no optimizations in the free version" strategy; it produces truly AWFUL code. I've used CC5X, and found it quite acceptable (for the processors it supports.)
The 16bit PICs (PIC24, PIC30, PIC33) and the 32bit PICs (PIC32) have fewer options, but the Microchip C compilers are based on gcc, and so aren't quite as bad in their free versions (plus there is the "build-your-own" option.) PIC32 is MIPS-based, and so theoretically is widely supported.