BIS_fnc_holdActionAdd uses addAction internally, so it should be possible to extend it to use some of the addAction parameters that it currently doesn't.
Specifically, these parameters are available in addAction but not BIS_fnc_holdActionAdd:
- radius (used internally but hardcoded value, could be made available to the user)
- selection (used internally but hardcoded to "" for some reason)
- memorypoint
The shortcut and hide-on-use parameters are used internally but not available to the user. However, I'm not sure if it's possible to make them available, the internal handling might be important.
This should be a fairly simple change requiring only SQF changes, nothing engine-side. It would make hold actions more flexible and easier to optimise.