I would have gone with the last option that you have,
trunk for the project (eventually with branch and tags, created for other reasons) and the customer's configuration files managed apart
This way the developers will always have the code base and necessary setup already in place and just need to take appropriate configuration files from SVN to work for specific client.
Having separate branch or tag for whole project will make it difficult to maintain and keep it updated with latest changes, merging and code conflicts. Also the no. of branches or tags will grow as you have more customers added.