How to enforce variable requirement in sub-process?

Yes. Error events could be a good choice: https://docs.camunda.io/docs/reference/bpmn-processes/error-events/error-events