There is a configuration option for a call activity input parameter such that all local variables of the execution executing the call activity are passed to the new process instance (currently it is only possible to pass all reachable variables (i.e. local and non-local)). This feature enables using call activity in/out parameters in combination with camunda:inputOutput elements on the call activity element.
For example, it could look like (note the local attribute):
The same should be possible for CMMN process/case tasks.