User Registration Plugin

Can you guys create a plugin that allows administrators to customize the user registration process and use the registration data elsewhere in the site? In particular, I would like to:

1. Have users choose a topic and subtopic for their blog from a predefined list (with an option of adding a topic that does not appear in the list).

2. Accept terms of service, privacy policy, license and or disclaimer.

3. Be able to easily add custom profile fields that I can use to collect additional information (e.g., advertiser affiliate codes, opt in/out of newsletter subscriptions or email promotions, geographic area).

4. Choose whether the additional profile fields appear in just the profile, user registration or both.

5. Automatically add all blogs to a directory, grouped by topic/subtopic.