PIC18F4550 C-compiler that's open-source & cross-platform?
SDCC works fine for the 18F4550.  The code it produces is maybe not as compact as the expensive compilers.  But recent builds of SDCC seem to be doing a pretty good job.

Here's a project I did with SDCC and the 18f2550.