Es gibt den SDCC
der ist Freeware unterstützt zwar noch nicht den PIC, soll sich aber ändern.
Ansonsten verwende ich denn CCS Compiler und bin ganz zufrieden
damit. Kostet allerdings.