Hi, i've been using Proton+ Basic compiler from
www.crownhill.co.uk, have been using this language on and off for several years now, I think they have a free version. On the larger PIC's floating point is supported and the code produced is quite tight. I managed to build a 6805 debugger/ emulator with rs232 support and a pc command interface with just one PIC18F452.
There are some GPL'd compilers on the net if you want to go free.