If it is hallucinated, you cannot detect it normally. However, you can center a location on a hallucinated unit. If you have a location that is constantly attempting to center on the powerups and a unit in the direct center of the map, it will find the powerup. If you ALSO add in that it will detect if there is a worker in that location, it will be able to detect when a player has picked it up and who has picked it up.
Condition:
Player 1 has suffered exactly 0 deaths of "Death Count"
Actions:
Set deaths for Player 1 to 1 for "Death Count"
Center Location "Find Powerup" on Powerup owned by Player 1 at anywhere
Preserve Trigger
^
This trigger will try and find your powerup, and if it does not, it will center the location onto the center of the map.
Condition:
Player 1 has suffered exactly 1 deaths of "Death Count"
Neutral brings atleast 1 "Unit at Center of the Map" to "Find Powerup"
Actions:
Set deaths for Player 1 to 0 for "Death Count"
Preserve Trigger
^ If there is no Powerup to be found, it will center on the unit at the center of the map, and reset.
Condition:
Player 1 has suffered exactly 1 deaths of "Death Count"
Neutral brings exactly 0 "Unit at Center of the Map" to "Find Powerup"
Player 1 brings exactly 0 "Work" to "Find Powerup"
Actions:
Set deaths for "Death Count" for Player 1 to 0
Preserve Trigger
^The powerup is present, but there is no one there. Then it is a simple matter of making a similar trigger, but with the condition that there is a worker there, and you can either make a trigger for each player or have another set of triggers find out which player it is and run the appropriate actions. Hopefully it can still center on the Powerup when it has been picked up.
I also believe you cannot detect the vespense tanks/mineral chunks with triggers either, but I could be wrong.
None.