Some very interesting and well thought out things here.
A couple of things I could see added or tweaked when we run a campaign...
Each shop has a list of things it has bought added (kept) which are available to all players that visit as well as the three random items.
Wizards get xp for killing in standard melee/shooting (so not for doing it with a spell)...this lets you build that monster wizard who wants to physically hit stuff etc.
Very minor stuff that just add a tweak. I especially like the shop inventory and can see it becoming an interesting list indeed in big multiplayer campaigns
We actually did consider those changes, you're definitely right they could work. The reasons we didnt go with them, in case you're interested:
Dave's first version of the out of game had a single shop that all players could buy from, and you could buy items that other people had sold, etc; there were two reasons we didnt go with that though. Firstly we wanted to stick to light/no bookkeeping, and secondly this sort of requires all players in the campaign to play games at the same time and the same number of times to keep the shop at the correct "point in time" for buying and selling. We wanted to keep our rules simple and generic that people in all sorts of situations - clubs, FLGS, etc, who dont all necessarily play the same number of games or on the same schedule - could use. If you are OK with the bookkeeping and your playgroup allows it though, the shop approach would be a lot of fun and add a lot of narrative to the between games.
We considered the same thing with Wizard XP, too, but we still felt that it broke the core of the issue that we were trying to solve; one type of Wizard should not be rewarded more than any other type. Even though a "Paladin" would be awesome, he still shouldn't be rewarded more than a Soothsayer or Illusionist or other "support" mage in our opinion.