You may want to look into SDCC. It has pretty good support for recent PIC controllers since v2.7, and runs on just about any platform.
I've been trying to work out how to program the VEX with it, and I think we're pretty close. Everything I know so far is posted on my WEB site:
http://personalpages.tds.net/~jwbacon/Ports/vex.html
Jason