I may be misunderstanding what you mean, but I believe all instances of objects in a layout have a unique integer ID assigned on creation by Construct. That automatically assigned integer ID is what I was referring to when I mentioned the "UID".
The object type (e.g. "helmet") is different from the UID.
Each helmet should have it's own totally unique ID number.
UID explained in the manual: https://www.scirra.com/manual/130/common-features
Example
If you spawn three helmet objects in your game, their UIDs might be automatically assigned as 61, 62, and 63, respectively.
If the player collides with one of the helmets, you can ask Construct which UID that specific helmet has.
...Event: Player collides with helmet. Action: set variable itemTouchedLast to helmet's UID.
Let's assume the player touched the helmet with the UID of "62".
You can now refer to that specific helmet in other events by using the UID to pick it.
Suppose we want to place a selection box image on the last item the player touched.
...Event: Every Tick. Pick helmet by UID ( itemTouchedLast ). Action: Move selectionBoxSprite to position of helmet.
This event will pick the helmet with the UID of "62", and it will then run the action only on helmet 62.