Two things u can do:
1) Try Bremmer's Advanced AI script (ok, I think it's Bremmer's). It has functionality for ground support, artillery, armoured support, firing flares etc etc etc. Even staged retreats. Pretty cool stuff, but it'll take u a lil bit of work to figure out how to use it properly.
2) do it urself, kinda like this...
- make a trigger coverin the whole map. Make it 'side detected' for whatever sides are appropriate. Then, when it trips, the array variable thislist will contain whatever units were detected. Then, u just use getpos on the units in thislist, & you've got your position of enemy units.
- to find out which group... a little harder, but can use the same trigger.. just call a script and pass it 'thislist' in the onactivation. Then, for each group u have, check whether or not the group leader knows the enemy unit exists. If they do, chances are they're the group that spotted them.
somethin like (example is for west defenders & east attackers - only triggers once, more complex if u want it to keep goin, and assumes only one attacking group)
TRIGGER: East DETECTED BY West, ONCE
ONACTIVATION: enemyposition = getpos (leader group (thislist select 0)); detected = true
Then, u set another trigger...
TRIGGER: CONDITION: detected
ONACTIVATION: reinforcementgroup move enemyposition
ta dah... That doesn't tell u which group found em tho & much more complex if u want lotsa groups on both sides, but that's the general approach. That one will also send reinforcements against the *leader* of the detected target - who might be in a different spot altogether.. just take 'leader group' out if u want them to go to the detected target exactly. If u make the 'detected' trigger repeating, they'll keep followin the target anywhere.