With the item issue, you could just have an item require a certain upgrade (in object editor there is a field for upgrade requirements). Then you could just do a simple trigger like the one posted above, but instead have the action be that the owning player learns that needed upgrade.
Sure this upgrade counts for wearing the item and not buying 'em?
Anyway, i'd make a trigger like this (Not in trigger-formation, because I don't use GUI) :
Event: Unit picks up an item
Condition: Level of Manipulating unit is not equal to 20 or higher
Action: Drop manipulated item