Lo estás haciendo demasiado complicado.
Use un PreparedStatement y addBatch() para cada clob en su lista:
String sql = "insert into " + tempTableName + " values (?)";
PreparedStatement stmt = connection.prepareStatement(sql);
for (String query : readQueries) {
stmt.setCharacterStream(1, new StringReader(query), query.lenght());
stmt.addBatch();
}
stmt.exececuteBatch();
Sin perder el tiempo con cadenas de escape, sin problemas con la longitud de los literales, sin necesidad de crear clobs temporales. Y lo más probable es que sea tan rápido como usar una sola instrucción INSERT ALL.
Si está utilizando un controlador actual (> 10.2), creo que la llamada setCharacterStream() y la creación del Lector tampoco son necesarias. Un simple setString(1, query)
lo más probable es que también funcione.