Yes. I have built several custom features in the last 2 years, all with multiple tables. The current feature I am working on has 14 tables, 50 stored procedures, 10 functions and it has foreign keys and indexes and I insert dozens of rows of data all using the mojoPortal install system. I install them in the mojoPortal database which I am connected to during the installation.
I have never created a seperate database through the install system though.
Your error "multi-statement transaction" makes me think you are doing too much without issuing GO statement.
Make sure you have a GO after the Create statement. Then issue the USE your database and GO
If this does not work your may have to do it from Master???
CREATE DATABASE yourdatabase
Also make sure the login user has CREATE privileges and/or Master database privileges.
Then you are going to have to have a new connection string for your custom feature to use, etc...
Why not just use the default installation mojoPortal database? It will save you tons of work. I use a scratchpad database to create my feature just like in Joe's tutorial then I script it and use the install system.
Hope this helps. Have Fun!