Wayne, you are correct that Budget resources are at the project level. For task level tracking I would use baselines. Enter the cost, baseline it, and then track at the task level.
With that said, you might want to step back and ask yourself if MS Project is the best tool for doing what you are trying to do with project costs. Project does pretty well at tracking costs, but it’s heart is still about tracking tasks and deliverables. I’m only saying this because of your need in a multi-year, multi-location scenario. It might be a lot to add to an already complex project is all. You might want to consider complimenting MS Project with a bit of Excel for some of the heavier cost tracking. That of course always depends on your requirements. If you need the timephased tracking and rollup at the project level and in one location then that’s another story.