There are two questions in there:
1) how do you keep a template / library of code to re-use
2) create one or more file for a solution.
For #1 I use FMbutler's Clip Manager every day all day
For #2: almost always will the solution consist of more than one file. There are backup benefits if you have some fairly static data in parts of the solution, restore benefits if you use Remote Container data, etc, deployment benefits if some parts of the solution are in active development and others not...
James, I tend to use the "template" approach. By that I mean that using your example above I will create the contact/client information template database and then get it to a point that I can use it and then save a copy. Then I take the template and finish the current project. At least that is what I try to do. Unfortunately, that doesn't always accur do to tight deadlines so I often find myself finding the database that most closely resembles what I need and modify that. I'm an in-house sort of developer so my processes are probably a little different than someone who is developing for external clients.
Pros: I can get to a usable state quickly.
Cons: I usually end up with extraneous scripts that I never have time to clean up.
hope this helps.
Clipmanager is an awesome tool to have.
Don't forget about modularfilemaker.org as well. It has some user contributed solutions in the "template" approach.
The key to templating is to make your code/layouts/scripts as "context-free" as possible. A hard, but not impossible, thing to accomplish in Filemaker.
I have a Person, Company, Company Contacts template (Data separation file pair) that I use as a starting point for almost everything.
Person and Company are structured as supertypes, with respective subtype tables
Email, Phones, Address, URL, Notes, are normailsed tables
Navigation (3 level) in the interface file, scripted account editing, version control and file set cloning built in.