This belongs in the main C&C forum, this area is for completed tutorials, not questions.
Now, for the actual answer...
you have two options that I am aware of :
If you want 'If you have A, B and C are unavailable'
1)Use python, and put checks in place in the CanBuild function. This is the easier option, but has the disadvantage of being a pain to maintain/extend.
2)Use the SDK to add new a new XML tag to buildings marking them as mutually exclusive and then add code to actually make the tags function. Much more work, but once done is easier to use and keep track of. I am reasonably certain someone once released a mod that does this, but I don't feel like searching for it.
If you want 'Building A deletes any copy of B or C in the city, but you can always rebuild the B/C and lose the A', there are two differences in what you need to do :
Instead of modifying CanBuild, you would use onBuildingBuilt to delete the preexisting building
Also, and this is an absolute must : You would need to mod the AI build routines in the SDK to prevent "Build A, now I want a B, oh, I could use an A, now a B would be great" loops.