This input format could run against offline tables. It does not care if you clone or not, but it will only start if the table is offline. This is easy to achieve, just clone the table and take it offline. This is simpler than trying to adjust settings to disable compactions and writes, setting that may change over time.
One draw back with this approach is that the current code to take a table offline is async. It starts a table going offline, but does not wait for it to happen. The inputformat could probably get around this pretty easily. It could check that the table states is offline and then wait for there to be no locations in the metadata table. Once there are no locations it could start computing input splits.