Generally speaking, the answer is no. For one thing, when programming a microcontroller, you have at least a certain amount of hardware-specific functions in your code, and since Atmels and PICs are different hardware, those parts wouldn't be compatible. You might be able to cross-compile certain general-purpose (non-hardware-specific) functions/sections of code, but trying to cross-compile an entire program would not work.
For that matter, even different compilers written for the SAME chip aren't entirely compatible - there are a whole bunch of C compilers for the PIC, and to transfer code between them you almost always have to do at least a little (sometimes a lot) of modification.