Yes, service packs have to be installed for each separate instance (unfortunately. @=).
As far as the database size goes, the client may want a 15 GB database, but how much data do they actually have for the database? Is it more? Is it less?
There is a whole buncha math involved in figuring out the proper size of a data file. You take the datatypes of all the columns and add up their byte size (see Data Types in Books Online or google for the information) and any overhead (for variable length fields, assume the maximum size). A row can be 8060 bytes long maximum. Then, once you have the total for all your datatypes, multiple that times the number of anticipated rows. You have to do this for each table. Add all the tables together and you have a minimum size for starting your database.
Remember, if the client has the data in a different format, you have to account for the difference between SQL Datatypes and the data types in the previous format.
If the client has a previous SQL Server database they want upgraded, I'd say look at the current size and add 10% for the data file size.
There is no good rule of thumb for a transaction file size. I believe the minimum size is 512 MB. The best you can do is look at how much data comes in and out of the database (Deletes, Inserts & Updates) every day. If you have a flow of 1 GB a day, I'd consider making the Trans file 1 GB with a growth percentage of 10%. Essentially, you want your log file to be big enough that it doesn't have to grow every day to process the day's work, but small enough that it isn't taking up more space than it needs.
Confused yet? @=)
Catadmin - MCDBA, MCSA
"No, no. Yes. No, I tried that. Yes, both ways. No, I don't know. No again. Are there any more questions?"
-- Xena, "Been There, Done That"