Você está tornando isso complicado.
Use um PreparedStatement e addBatch() para cada clob em sua 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();
Sem mexer com strings de escape, sem problemas com o comprimento dos literais, sem necessidade de criar clobs temporários. E provavelmente tão rápido quanto usar uma única instrução INSERT ALL.
Se você estiver usando um driver atual (> 10.2), acho que a chamada setCharacterStream() e a criação do Reader também não são necessárias. Um simples
setString(1, query)
provavelmente funcionará também.