1. Don't quite understand. If you want to create a dust cloud use the command drop.
2. Create a trigger over the area, activation Anybody present. The trigger array contains all the units in the trigger area and is dynamic. Use it in the On activation field as thislist, for example
thislist select 0 setCaptive true
or in a script, for example
_array1 = list triggerName
Syntax not guaranteed. _array1 will update dynamically as units enter and leave the trigger area. It makes no difference if the trigger has fired or not. Use East, West or whatever as you like instead of Anybody. It makes no difference whether the second setting is detected by, not present, or whatever.