This is fine for buying items, if perhaps a bit over-complicated to be practical at the table.
But, (as usual for me) some questions:
No problem. In fact, I welcome them
- how does it work if you turn it around to where the PC (or party) is the seller?
- is it random which items come up for sale when, and if not how is the 'available inventory' determined?
- where does the initial 'list price' come from, and how is that set?
- how long needs to pass between price checks? (the write-up seems to imply one check per adventure, which is too slow given most campaigns only seem to go for 5-10 adventures)
- how does this work, if at all, with internal party treasury division?
Different editions of D&D have set selling prices to 20% to 50% of the list price (not counting haggling and bargaining systems).
We have found that in order to not focus on hauling loot a lower percentage works best, for us. (At 50% I have at least one player who can't resist spending the whole session on figuring out ways to bring back every. single. scrap. of inferior armor, various knick-knacks and even low-grade ore. Making looting a non-issue seems to help him focus on actually having fun...
)
Yes, random. In my example, I made rolls on the DMG magic item table. In actual play, I'd do pretty much the same, but with one eye to serving the actual characters and their classes.
List prices: you can use the DMG. I use Sane Prices.
Not once per whole adventure, but once per visit. Between visits you need to perform at least one quest or mini-scenario. This would pretty much boil down to once every session for us, since we level up every three sessions or so.
Treasure division: my players have never had any issues with this. They have an internal round-robin list where you get to pick an item (and be placed last on the list) or keep your spot (but get no item).
Once everybody passes, any remaining loot is sold for cash. Cash is then split equally.
But that's just one single group. Other groups do it differently.
It's not part of the rules in any case, so my answer can only be "do it as usual"