If possible, I'd like to avoid a "buy everything / sell everything" model with NPCs. Some level of that both makes more sense from a story point of view and makes the game more fun, especially when a given magic item is a treasured possession of the NPC; Serena is obviously holding on to her Ring of Invisibility as a last ditch way of escaping for herself and Riana, and shouldn't be at all happy about handing it over to a PC. It improves the game if the player has to pay her fair market value plus to get her to give it up. On the other hand, it will take away from game play if we have to pay NPCs every time we want to swap around ordinary inventory clutter, and I wouldn't want to be unable to equip an NPC with a magic weapon just because that NPC didn't have enough cash to pay my party leader for it. Not trying to hark on this; still, I think we need to be cautious about pouring time into something that may end up a game play negative. On the other hand, being able to offer some items "for sale" to NPCs could be fun, as long as the player can choose to skip it. Black Jay's dialog might be a good starting point for that, if there's a way to read just how much cash an NPC has in inventory.
Its harder. How do we get a handle on the item to discuss it? This is the great problem on manipulating stuff in the inventory: unless you go for things specifically - 'sword = pc.item.find(4010)' etc - then you can't get a handle on them for subsequent scripting. The only way I can tihnk of (unless I am missing something obvious) is how i did the half-plate thing with Two Swords - actually give the NPC the item, let them equip it, get a handle on it from the slot, then go from there (and yes, we should be able to read the items value, even crafted stuff). But it will only work with equipable items, not scrolls, potions, wands etc. I think this is worth considering though, at least on some level: just for weapons and armour etc, valuable stuff. Plus the dialogue can be optional: if you want the NPC to pay, you intiate dialogue with them and discuss it. If you just want them to use the stuff and get on with the game, you don't talk to them about it.
This sounds like a good way to go; it won't slow down play, and it lets us at least get the idea that NPCs own some items but are using others on lease from the party.