You might be able to do it with the DBMS_SQL package. I think you could use the PARSE and EXECUTE procedures by putting your create statement(s) into a varchar and passing it to with an open cursor. Sorry this is so vague, but I'm not sure of the syntax. Hope this provides some direction.
In 8.0 you can use procedure exec_ddl_statement in package dbms_utility for ddl statements:
procedure create_table (table_name in varchar2,column1 in varchar2,column2 in varchar2)
dbms_utility.exec_ddl_statement('create table '||table_name||' ('||column1|| ' varchar2(10), '|| column2 ||' varchar2(10))');