<p>I'm designing a database table and asking myself this question: <em>How long should the firstname field be?</em></p>
<p>Does anyone have a list of reasonable lengths for the most common fields, such as first name, last name, and email address?</p>

Just looking though my email archives, there are a number of pretty long "first" names (of course what is meant by first is variable by culture).  One example is Krishnamurthy - which is 13 letters long.  A good guess might be 20 to 25 letters based on this.  Email should be
much
longer since you might have firstname.lastname@somedomain.com.  Also, gmail and some other mail programs allow you to use firstname.lastname+sometag@somedomain.com where "sometag" is anything you want to put there so that you can use it to sort incoming emails.  I frequently run into web forms that don't allow me to put in my full email address without considering any tags.   So, if you need a fixed email field maybe something like  25.25+15@20.3 in characters for a total of 90 characters (if I did my math right!).