I thought of one clunky solution, but I'm hoping for something more efficient. Would this work, though?
Suppose I have a sword I want to add. Have an item (with the picture of the sword) called "Check condition of sword," with instructions to click on the item to add it. When the player clicks on that item, it takes them to an identical looking page, except I add the script $ITEMSTATE1 := 1, and when they go to that page the sword is in their inventory. I could add a limit of uses to the "Check condition of sword" item to 1, and then I assume it disappears. From then on you should have the normal sword in the inventory, except it is tied to $ITEMSTATE, which means I can script $ITEMSTATE := 0 later to get rid of it.
Could that work? Also, is there a better way?