Took a bit of code from LAMBS fnc_tacticsHide and did this. It runs on player's group AIs only and it's a separate script from LAMBS. It's just an example, a proof of concept (although fully functional).
Note: unfortunately forgetTarget makes the whole group forget it's targets (even if used on unit), it would be nice if individual units could forget targets and let others retain the memory, this way we could order individual AT/AA to engage, now you have to make all your AT/AA's open fire (within this script), guys without launchers can remain hold fire though 👍. (no need if we use _unit disableAI "AUTOTARGET").   /* Force AT/AA specialists disableAI "AUTOTARGET" when ordered hold fire Description: Allows AI in player's group to remain prone and regroup faster on the presence of enemy vehicles. Execute from initPlayerLocal.sqf */ TAG_fnc_forgetATAAtargets = { params ["_displayOrControl", "_key", "_shift", "_ctrl", "_alt"]; if (commandingMenu isNotEqualTo "RscMenuEngage") exitWith{}; switch (_key) do{ //Open fire case 2:{ [] spawn { // find launchers private _launchers = (units group player) select {(secondaryWeapon _x) isNotEqualTo "" && {!(isPlayer _x)}}; if (_launchers isNotEqualTo []) then{ sleep 2; { if !(unitCombatMode _x in ["BLUE","GREEN"]) then{ _x enableAI "AUTOTARGET"; }; }forEach _launchers; }; }; }; //Hold fire case 3:{ [] spawn { // find launchers private _launchers = (units group player) select {(secondaryWeapon _x) isNotEqualTo "" && {!(isPlayer _x)}}; if (_launchers isNotEqualTo []) then{ sleep 2; { if (unitCombatMode _x in ["BLUE","GREEN"]) then{ _x disableAI "AUTOTARGET"; }; }forEach _launchers; }; }; }; default {}; }; }; waituntil {sleep 0.1; !isNull (findDisplay 46)}; null = (findDisplay 46) displayAddEventHandler ["KeyDown", "call TAG_fnc_forgetATAAtargets"];