unfortunately (though there is a reason for it) the game does keep track of everything, everywhere, as long as it is there.
so yes, there is good sense in creating units when needed and destroying units when no longer needed, as this frees up valuable power.
clearing units, you asked, is done very easily: have a trigger, type all, and name it, e.g. TriggerA.
Then, when the player(s) have left the area, get a trigger or script to say
"_x setpos [0,0,0]" foreach units list TriggerA. and hurrah the game gets slightly faster
the creating units has been answered many times before, id rather go and get some paracetemol than answer it
one other thing you can do, again using named triggers, is stop out-of-sight units using their waypoints, and set them to careless, so they dont bother even looking around, that will cause the game to think about them less.