There were some recent changes, but here is how it works (I think, at least). I'm not sure if 2.b. is live on the shards yet, as I've not tested it.
1. The price goes up every 1000 sold (not 500), by one gold per.
2.a. The price goes down every 1000 bought by the NPC.
2.b. The recent change was supposed to make the buyback price 70% of the current asking price (before, it was always less than the base selling price)
3. NPC Vendors get reset in SOME publishes (typically when some system involving them gets turned on or off, or additions/subtractions made to the city). For example, city invasions always reset the NPCs at the start and end (and sometimes during, as when you had Berzerker Ophids running around killing yellow NPCs). Respawn from death always resets the price, but the normal spawn/despawn/respawn timers do not.
4. Random Gypsy NPCs (found in 10 or so spots in Ilshenar, no more than 4 or 5 spots active at any given time) reset every time they spawn. The spawns will always have a banker and a Fortune Teller (healer/mage), and will randomly have none, 1, 2 or all 3 of the following: Maiden (Provisioner), Vagabond (Tinker/Jeweler) and/or Iron Worker (Blacksmith). The Vagabond sells gems, boards, and ingots. The Iron Worker sells Ingots. At least one of the NPC types sells arrows & bolts.
Do NOT confuse these with the 4 permanent Gypsy spawns in the general Compassion area (central entrance, Alexandrella's bowl, and the two in the desert), but 3 of the random spawn locations are also in the region (Entrance to the pass of Karnaugh, the flat spot by the Demons north of the AW, and in the forest between the Bowl and the bridge to the undead & desert).
There's a page in the Atlas on the main UO Stratics site, that gives the locations of permanent sites, and where the random camps may spawn.