Took me a while to read through the original post and I'd have to agree with the solution offered. There's absolutely no need to run through a huge data structure (if you have 1000 stations it would be a complete resoure hog for starters and your game could crawl) when you can just compare times since last visit and calculate on the fly.
The only scenario where you might have to do a bit more work than just checking the current station when you land is where you perhaps generate a list of stations on screen to work out where you're travelling to next. In that situation you would need to be looking at more than one sites data. But that could be got around by showing only the local stations to you rather than all of them (and you could cheat a little by saying other stations are out of range for example).
Failing that you could do something like Elite and just create random data each time you land on a station but that kind of goes against your idea of having a "realistic" economy and development progress so probably not such a good idea.
The only scenario where you might have to do a bit more work than just checking the current station when you land is where you perhaps generate a list of stations on screen to work out where you're travelling to next. In that situation you would need to be looking at more than one sites data. But that could be got around by showing only the local stations to you rather than all of them (and you could cheat a little by saying other stations are out of range for example).
Failing that you could do something like Elite and just create random data each time you land on a station but that kind of goes against your idea of having a "realistic" economy and development progress so probably not such a good idea.