Wonīt be so easy.
I had same problem some time ago and only solution I found was
not to limit the UNIT itself but its BUTTON where you can have
upgrade as pre-requisite
CommandButton Command_Construct*YOURUNIT*
Command = UNIT_BUILD
Object = *YOURUNIT*
Options = NEED_UPGRADE
Upgrade = *YOURUPGRADE*
End
The only problem is that when you will hold mouse on it it wonīt show you why you canīt buy it so you have to include it in DescriptLabel.