Probably you can use:
Event

Unit - A unit Is issued an order targeting an object
Condition:

(Target item of issued order) isn't No item
Then

Item - Show (Target item of issued order)
Jass:
set udg_tmpItem = GetOrderTargetItem()
Maybe that's what you want?
I thought of a similar item system which checks if the unit is within a range of the item, so they will check what does the hero have and try to build something based on a recipe rule.