As per your scenario and since Device Update Agent is open-sourced (https://github.com/Azure/iot-hub-device-update) you can customize the Interface and Platform Layers to achieve it. IoT Hub should not be impacted by 30 days or more waiting period for the update to be completed.
Update after conversation with Product Team
Client has no internal time limit on each phase of workflow (download, install, apply). If client exits without reporting back a final state to service, it will remain in "In-Progress" on the portal. The client should go back to Idle state so that it can report either failure or success, rather than exit uncleanly without reporting final state when Approval is denied.
We don’t have any kind of timeout on the service side. There’s no limit on how long the service waits for a device to respond. You can change the agent implementation however the device won’t be counted as “in the deployment” until it sends the “InProgress” response.