I'm going to answer the first part of my own question.
After upgrading my iPod Touch to iOS 5, Location Services started working again. Not only did it start working, it's showing the location as a point in the street in front of the house.
1) The location I manually submitted to Skyhook in 2009 was in the street farther south, by the mailbox, so the old data point is not being used. Not suprised since I have no reason to believe that Apple went back to Skyhook. A visit to Skyhook's website verified that this point has not changed.
2) The location that Apple started using last year was a point on the main highway 1/2 mile east of here.
So somehow Apple has independently obtained new data about my wifi location. It's possible that during a recent party, somebody with an iPhone had connected to my Wifi and that data was sent back to Apple. It's also possible that a Wifi data collection vehicle drove down this road. It's very rural with only three homes on a one mile stretch, so although possible it's difficult to believe.
It was my previous understanding that Apple started requiring that devices be within range of several Wifi signals to improve Location Services accuracy. Being in a rural location, it's nearly impossible for my iPod to pick up any Wifi signal other than my own. With Skyhook, this was never an issue.
However, iOS 5 seems to heavily depend on Location Services so maybe they've changed something critical to how it functions in order to improve accuracy without requiring multiple Wifi signals.
I'm going to accept my own answer. If anyone has a better answer to my original question, I'll consider accepting that instead.
Unfortunately, there's no way to change the Recent calls timestamps.
You will either have to wait past the 1/12/13 or you could consider deleting those numbers. Course, you would obviously lose the phone numbers, and that data, but it would keep your true recent calls on top before it starts working again on 1/12/13.
It appears to be indeed changing time on the iPhone that has caused this issue, as I was able to repeat it easily. In testing it, I switched off "automatic" time, and change the date to tomorrow. After that, I made a phone call and then changed it back to set the time automatically. The phone call that I made during the manual time change indicated that I made the call tomorrow. 1/10/13, in this case.
So, your iPhone uses local time - the time that displays on the phone at the top of the screen - to log, order, and display recent calls.
Best Answer
I was fighting this exact same problem for a while, myself - everything except location automation was functioning. My troubles were in my iCloud settings - my location was determined based on a device which was no longer in service, instead of my iPhone. So, HomeKit interpreted things as if I was always away from home. After updating the location settings to track on my iPhone, the automations fired back up properly again.
Hopefully this helps a few others out, ha.