Ensnare is easy. Create an invisible dummy with a no-cooldown ensnare
Unit starts effect of an ability Condition Ability being cast equal to mass ensnare Actions Shift control of dummy 001 to Owner of triggering player Move dummy 001 to position of triggering unit Pick every unit within 500 of Target unit of ability being cast an do- Order dummy 001 to Neutral-Ensnare Picked unit
That's a perfectly functional trigger, although the mechanics of unit groups and locations means that it will be pretty memory-leaky. If cast often, it may cause the game to lag and will likely cause a long garbage-collection period at the end of the map.
However, doing it with jass variable destruction and locals is substantially more difficult, so if this one works well, I'd advise you to use it.