Customer Portal -- customized to retrieve customer info?

Customer Portal -- customized to retrieve customer info?

Is there a way to to have an "open" customer portal (i.e. allows anyone to sign up) that requires/collects more information than just email address and password?  For instance, when people log into my customer portal, I need to collect their names, emails, company names, etc.  Is this possible?