It sounds like you are probably getting bogged down in the details way too much. For the game I personally run, I don't keep giant lists of NPCs or intricate details of shops.
If you are running an Exploratory game, where the Characters don't know what all is out there, then you really shouldn't worry about anything that's beyond a few days travel of the Characters. If they are on foot, this is maybe 50 miles or so, there might only be 2 or 3 towns in that space. Or less depending on how you want to plan. If they have horses, it's maybe a couple hundred miles.
As far as remembering what is in town, I have a plan for what type of town it is; ie. farming community, Trading hub, mountain town... etc. That tells you what kind of stuff you're likely to find there. A farming community will probably have a blacksmith for plows, metal tools, but he probably won't be able to make alot of weapons or armor, there probably won't be alot of magic in the community since there won't be alot of money to pay for it. This logic flows into figuring out what shops will have on hand to sell and what they won't, most non-magic items are pretty common, alchemical stuff less so, and magic stuff is rarer still.
I try to play as much to 'reality' as possible and this dictates what is going to show up where. It also lets you build a place that totally breaks the mold if you want as well. How about a farming community that relies on magic to survive? a local druid comes and blesses the desert fields so they can grow crops they normally shouldn't, or instead of bulls pulling plows, it's unseen servents?
The idea of a traveling caravan is always interesting, alchemically powered or not, and Characters can have great opprotunites as guards/travelers/owners/whatever on them.