I had to do something similar for Minitroid using instance variables and hash tables. Say you have 10 gems that, once picked up, never return. You want to give them an instance variable called ID and set them to 1,2,3,4, and so on for each gem. Then you make a hashtable with 10 keys - also 1,2,3,4, and so on.
When a gem is picked up, check if the key with the same ID has a value of 0 - if so, destroy the gem and set the key value to 1.
Now, when the level is loaded, loop through the keys and see if any of the values are 1. If so, destroy the gem with that ID.
Alternatively you can just check if the key exists.
Make sense? Probably not. I suck at explaining these things. I can whip up an example .capx if needed :)
EDIT: Sorry, I keep forgetting hashtables are called dictionaries in C2. I will never get used to that -.-