That's the way I have done deployments and it seemed to work fine. I tag workstations that have low memory, old CPU level, or full HDs so my deployment tasks don't attempt to do anything on those machines until they are upgraded/fixed.
this should work :-)
or maybe you could even set "run this task on servers" and do NOT run if Tag "ice" in task properties.
But as you already have tags on all your servers - your way maybe better