Въпреки че бих поставил под въпрос дизайна ви, ако разчитате на такива трикове, въпросът ви е общ и не сте дали конкретна информация, за да прецените и в двата случая.
Всъщност трябва да е възможно. Това е само въпрос на програмно изграждане на имената на таблиците като низове и след това, в цикъл, изпълнение на вашите оператори CREATE като динамични заявки.
Вижте тази страница в документацията на postgres:http://www.postgresql.org/docs/current/interactive/plpgsql-statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN