I don't think that the compiler matters that much. What is more important is your precise understanding of the library you are using, or of the actual device you are invoking.
However, I will recommend GCC, and I do recommend using a very recent version of GCC. For instance, GCC 4.6.2 is appearing these days, and there have been lot of work recently put in GCC to improve its perfomance for ARM processors. So, if possible, us a 4.6 GCC, not a 4.3 one (some hardware vendors don't give recent GCC with their ARM development kit; you should consider in that case building your GCC (and perhaps binutils) from their source code.
I know nothing about GPS itself.