É necessário sempre obter o DDL mesmo que as tabelas não tenham sido alteradas? Caso contrário, obtenha apenas o DDL das tabelas em que ALL_OBJECTS.LAST_DDL_TIME foi alterado desde a última vez que você o recuperou.
Outra opção seria escrever seu próprio GET_DDL de uma forma que seja capaz de obter mais de uma tabela de uma só vez.