Okay i have been giving this a bit of thought. And i believe that I have thougth up a system that would actually create just one economy and not two. one for NPC's and one for Players.
Okay here are the basics.
1) Everything that an one NPC sells that NPC and/or another will buy.
Likewise everything that one NPC buys that NPC and/or another will Sell.
2) Every NPC that sells will have stock levels that it sells from.
2a) You can also have some of the pc's produce at a specific rate items for sale. Such as Harnquist making a specific weapon or weapons and selling them as well as the weapons he has purchased.
3) Dynamic Prices.
Simple set of equations that will based on the product bought or sold, raise or lower the price that the npc is willing to buy or sell at. For example merchant A is buying and selling iron. For each unit of time that He hasn't had someone sell him some iron (And you can apply this not just to each merchant at a time but to all merchants at once or all merchants in one city at once), He raises the price that he will buy the iron. When some one sells him iron he will lower his buying price once the transaction has been completed. Likewise when selling iron, (if he has stock to sell), he will keep raising his selling price until someone buys. Once a sale has been made the price will be lowered. This process can be used on all items in the economy, regardless of if they are dropped items or player crafted items.
This would create a real market based economy. And the prices that players would be able to receive for mined, picked up, and crafted items would depend on how much of said items are floating around in the hands of players, and merchants. After all the more say iron ore i sell to the merchants the less i will get for that ore because the market is being saturated with ore.
(the equations you set the actuall raising and lowering amounts can be linear or non linear depending on how quickly and by how much you want your market to react to changeing levels of product in circulation.)