What is the difference between the different types of pic compilers such XC, Hi Tech etc?
xc8 Microchip compiler for 8 Bit devices (also AVR devices)
xc16: Microchip compiler for 16 Bit devices
xc32: Microchip compiler for 32 Bit devices (and also the ARM SAM devices)
HiTech: previous compiler from xc8, company now bought by microchip
CCS: 3rd party compiler
In a short test a read about CCS is 21% slower, takes up 4% more ROM and 38% more RAM than the free XC8 compiler!
From every xc compilers are two versions available (one free). There is also a dongle license available which can be used interchangeably among workstations and users.
There are also Basic compilers available from several suppliers. We use Pic Basic Pro from MeLabs website but there are several others. PBP is thoroughly competent and we have done many significant projects with it.
There is also Swordfish Basic website - I've played with it somewhat but my guys prefer PBP.
I'm aware of other compilers - other C compilers different from what Mike mentioned, other Basic compilers, even a Forth compiler. However, I don't have any experience with those.