Embora eu questione seu design se você estiver confiando em tais truques, sua pergunta é geral e você não forneceu informações específicas para julgar de qualquer maneira.
Deve ser possível, na verdade. É apenas uma questão de construir programaticamente os nomes das tabelas como strings e então, em um loop, executar suas instruções CREATE como consultas dinâmicas.
Veja esta página na documentação do postgres:http://www.postgresql.org/docs/current/interactive/plpgsql-statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN