In what way SQLObject can help? Encapsulate the cheating? ;)

> import kinterbasdb
> con = kinterbasdb.create_database("create database '%s' user 'sysdba'
> password 'masterkey'" % db_filename)

  Users have to create a different connection with user='sysdba' and
password='masterkey'. With this limitation - yes, I can put the code into

While you install Firebird (not the database or table), you have to set the Firebird user and password (you can call it "superuser" if you want).
Than you can get "superuser" connection to the Firebird server using this user/password and you can create the database.
Other users and passwords can be set as well of course.