<2 cm, might be difficult, because the GPS might not even provide data with that kind of resolution.
http://www.google.com/search?hl=en&q=2+cm+%2F+%28radius+of+the+earth++2++pi+%2F+360%29&aq=f&oq=&aqi=
So, you've got to have about 7 digits of precision below the decimal point to even be possible.
That puts it at about 0.000646790757 seconds (3600th of a degree). So, if your GPS doesn't provide that much precision, you can't even tell the difference between 2cm, regardless of whether the error is relative or not.
--- More information ---
So, sure, there's a lot of limitations in this analog system, there's lots of room for error to creep in. The article Eric J. linked is trying to reduce that error, but that's talking about the error of the system and such. But look at your GPS, it probably gives lat long coordinates. There's two principles involved here, Accuracy and Position. If I told you that my current position was 40 degrees north, and 112 degrees west, that would be an accurate, but imprecise position.
If I told you that my current position was 21.2212541341213432134512311312312312 degrees north and 65.1231340980193809810938049801980980 degrees west, that would be a precise, but inaccurate position. Both are potential issues here. How much precision does the GPS give you?
Lets say the GPS gives you a position of 32.4423 N (lets ignore East/West for now). In an ideal world this information would be perfectly accurate, but what the hardware is really saying is that the value is somewhere between 32.44225 and 32.4435. This isn't a limitation of accuracy, but that of precision. The variability in this system is .0001 degrees, which is http://www.google.com/search?hl=en&q=.0001+%2F+360++radius+of+the+earth++2+*+pi&aq=f&oq=&aqi= 11 meters. On the other hand, if the position is 32.4422934561, that's a variability of .0000000001 degrees, which is about a thousandth of a centimeter. So, if your GPS hardware did have that much precision, it would probably give you a similar accuracy error that you have now "10 meters" or something like that. That's because of the previously mentioned problems with the analog system (air density, humidity...).
The GPS system can't tell you how close it is, because it doesn't know. It's trying to tell you the absolute position.
But, if we have two GPS devices, that are presumably the same, we can assume (and that's probably pretty safe) that the error is probably the same between the two GPS devices. If say, they're 50 meters apart, the accuracy reported by the GPS software might be in the neighborhood of 10 meters, but we can probably get the relative distance between the two, as long as the GPS units report enough precision.