Multiple "model" DBs -- or db creation 'profiles'
I agree I would create an example of each type and then back each up.  Once they are backed up you can drop the examples.  Then when you need a new "California" type you just run something like this:

RESTORE DATABASE &lt;NewDBName&gt; FROM DISK = 'x:\ModelDBs\California.bak'
WITH FILE = 1,
MOVE 'CaliforniaDataFile' TO 
    'E:\Data Files\&lt;NewDBName&gt;.mdf',
MOVE 'CaliforniaLogFile' TO 
    'F:\Log Files\&lt;NewDBName&gt;.ldf';


You could even create a template to generate most of the script for you.  

The other option is to create "creation" scripts for each.  Create a blank DB and run your creation script for the appropriate type.  This can be automated to a large degree but I still like the backup/restore method better.