Could you not use "for each" condition?
If you need to pick a specific object out of duplicates then you could use fast loops.
Give each duplicate a unique number, then use this number in conjunction with a fastloop to pick the object, eg.
Always > spread value 0 in private variables
Always > start loop "my loop"(get number of objects to loop for)
onloop "my loop"
+private variable = (which ever object you want to select) > do stuff
or to control them all with fastloops,
onloop "my loop"
+private variable = loop index "my loop" > do stuff