CICS supports both static calls (compile-time binding) and dynamic calls (runtime binding) for program invocation. This flexibility allows developers to choose between performance optimization (static) and runtime flexibility (dynamic) when designing CICS applications.