In the good old days the US DoD had a thing called "Selective Avalibilty" -SA- - they turned this off at the beginning of the century making Civilain use of GPS more accurate, enabling things like car navigation etc. Prior to that Differenctial GPS was a widely used system for those that required greater accuracy than could be achieved with SA- DGPS is done using a ground base station at a known coordinate, that transmits the error in the GPS signal to close by GPS recievers.
Using DGPS is still possible to increase the accuracy of a GPS fix today, although its rarely used as GPS is currently accurate enough for most purposes. Other means to get higher accuracy are to plonk the receiver down for anything from an hour to a day or two and average the fix. (Surveyors use this technique.) - you need to understand what GPS accuracy is - if they say it's accurate to 10 meters, they usually mean "you are with in 10 meteres 90% of the time" or something like that. I have never seen a GPS state a 100% of the time figure.
It is therefore entirely possible to get sub-centimeter fixes from GPS (e.g. A marketing guy might claim 1 cm and then in the fine print put "Accurate to 10mm 10% of the time".
Why is this accuracy needed in your friends case? There are a few cases (surveying) where it is. The earths model (WGS84) used by GPS is not that accruate, let alone the maps, and unlikely to be for along time, whats the point of being out by less than 1 centimetre when the error in your map has more than 1 meter error?