SQLServer always stores only what it needs, even if the column is Varchar(400). Note that you cannot index varchar(MAX). One other thing. NVarChar over VarChar is generally a better choice and recommended as it supports Unicode.
>To store the emails in separate rows I would have to create a child table. This will complicate the design where it is not really necessary. These - extra emails - will be used by only a few (or just one or two) customers. So adding a child table to store the emails, IMO, is overkill. But from your words that "SQL Server will only store what it needs to" do I understand that Varchar(max) will not add more load than, say Varchar(400)?
Craig Berntson
MCSD, Microsoft .Net MVP, Grape City Community Influencer