Sorry, I know exactly how GPS works, I'm working on a GPS receiver board for Gnu Radio (www.keystoneradio.com).
You don't need absolute timestamps on each sample to get distance. The timing is encoded in the PN sequence in the transmission from each satellite. Also included in the transmission from each satellite is the satellite orbit information and the exact time that the GPS system uses. First, you receive 1 satellite, and then set your GPS clock to the system clock. Once your handheld GPS is set to the system clock, you can figure out how far you are away from the satellite by determining time of flight from the satellite to the handheld (You know the PN sequence, and you know the time. You can figure out the time that you received the signal, and then you can determine the distance)
Once you know the distance from 3 satellites, then you know you are in 1 of 2 locations. If you further assume that you are reasonably close to the earth's surface, then you knock off one of the possible locations. More satellites will give you a better estimation by giving you more position estimates to average out.
As far as the signal processing, the GPS signal comes in to the antenna pretty close to the thermal noise floor, and so it's a bit tough to receive. Because it's a direct sequence spread spectrum system, you get 43 dB of processing gain from the de-correllators which helps significantly. Multi-path isn't really to much of an issue because the signal is primarly from overhead. Absorbtion is more of an issue, and is something that Garmin/SiFR etc spend a lot of time dealing with.
As far as beating the current state of the art in GPS receive algorith's with a half dozen guys working in their basement, probably not. As an educational thing, it's pretty useful.
Dave