1) Well, you could implement a check for that region, and if the desired hero is there, block the region. And when the hero leaves it, unblock it...
2) More complicated... Probably, yes, by constantly determining the number of creatures in the army. Although, no, that's nonsense, the army also loses creatures in battles...