Signup form with extra fields

I’m setting up a site to enable registered users to download certain premium content.

Those users should signup in the site to be able to access and download that content, but in order to signup, they should fill the normal user/email and provide other information such as company, job title, city or even phone number.

How can I add those mandatory fields in the signup form, be able to manage that information (CSV download?) but only ask those users for their user/pass or /email/pass on their signin process?

Also: will those users be able to delete themselves from the service if they’re no more interested?