CREATE TABLE statements cannot be run directly from the procedure as static SQL. You need dynamic SQL, i.e. create the statement in a string and then run EXECUTE IMMEDIATE.
The same applies to creating the base table in a different database. You have to set up federation to access the other database, then switch to PASSTHRU mode and create the table that way - all with dynamic SQL. (I'm not completely sure if you can have federated operations inside a procedure, though. It may depend on the programming language you use to implement the procedure.)
Note that you cannot simply compare "databases" of one DBMS with another. Many DBMS have a different understanding what a "database" actually is. For example, DB2 LUW considers a database as a closed object with its own catalag, buffer pools, logs, etc.. Each database is physically separated from all other databases DB2 z/OS has multiple databases in a subsystem that share a catalog.
Anyway, my questions would be:[list][*] Why do you have to create a base table inside the procedure? That may hint at a design problem of your application.[*] Are you sure that you really want to have different databases and not just different schemas?[/list