Chociaż kwestionowałbym twój projekt, jeśli polegasz na takich sztuczkach, twoje pytanie jest ogólne i nie podałeś konkretnych informacji do oceny.
Właściwie to powinno być możliwe. To tylko kwestia programowego zbudowania nazw tabel jako ciągów, a następnie, w pętli, wykonanie instrukcji CREATE jako zapytań dynamicznych.
Zobacz tę stronę w dokumentacji postgres:http://www.postgresql.org/docs/current/interactive/plpgsql-statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN