The only way to do this via events would to create many different shops that contain different items. Then in the event to open the shop, make the event a conditional branch. At the beginning, set a variable at random from 0 through X (where X is one less than the number of shops you created). Then after that initial variable in the conditional branch, make each shop in there corresponding to a different number (0, 1, 2 ... X).
So for instance, the player talks to the shopkeeper. When the event starts, a random number will be chosen (via the variable) then the shop would open up. The shop that opens up would correspond with what number the variable landed on at the beginning of the event.
But yeah, the point is just that you need to make a lot of different shops.
You can't place items in a shop through events unless you make the shop. What I mean, is that if something happens in the game that would otherwise add a special item to a shop, you can't just add it into a shop that exists. You'd have to pre-make that shop and then when that even occurs, swap it out, in-game, with the secondary shop that has that special item.
You could with scripts though.