Looking at differential GSP and WAAS, only 2-3 meter accuracy is shown.
Looking at land survey techniques, http://www.landsurveyors.com/resources/accuracy-of-land-surveys/
"Total stations using a real-time kinematic GPS system are accurate to around 20mm horizontally and 30-40mm vertically."
Getting better would depend on how large of an area your Arduino will be in.
Perhaps if you had 3 local beacons and the Arduino could accurately determine the bearing to each one, then it could triangulate its position. I'm thinking like 3 rotating laser transmitters, with each one sending out a beam with the angle information transmitted in 1 degree increments, or perhaps better, as it rotates thru each position.
See VOR Navigation in flying: Flying Lessons
If the arduino captures the angle from each beam and knows the origin of that transmitter, it could calculate its position pretty accurately. Accuracy <1mm? I don't know if that would be possible. Would probably depend on the beam degree info, the accurateness of the transmitter location, the math capability of the arduino. Having info from more transmitters would also help.
CrossRoads:
Getting better would depend on how large of an area your Arduino will be in.
Perhaps if you had 3 local beacons and the Arduino could accurately determine the bearing to each one, then it could triangulate its position. I'm thinking like 3 rotating laser transmitters, with each one sending out a beam with the angle information transmitted in 1 degree increments, or perhaps better, as it rotates thru each position.
I recently came across an indooor radio system that did this , about 300 per beacon from memory, but i cannot remember what it is called.