On the dynamic side of things we are working right now on adding support for dynamic block generation on generate_hcl, which should help.
Regarding dependencies, did you took a look on the orchestration features on Terramate ?
https://github.com/mineiros-io/terramate/blob/main/docs/orch...
They should be enough to let you easily define ordering and not depend on developers doing the ordering manually.