Is there an option to automatically clock someone out after X hours?

Yes, this can be done via the clock:it daily closing function. Depending on the version installed, clocking out is done at a specific fixed time. In current versions, you can configure whether clocking out is done at a fixed time or at the planned end of the shift. The configurable version is available from version 2025.16.0 onwards.