I actually have a plugin that does just that, it adds a category dropdown to the user profile edit:

Only user who can manage_options (admin) can see that field.
and once the user is logged in to post he sees this:

Update
Its now in the plugin repository http://wordpress.org/extend/plugins/author-category/
enjoy.
Related Posts:
- Allowing users to edit only their page and nobody else’s
- Disallowing Users of a Custom Role from Deleting or Adding Administrators?
- Hide Admin Menu for Specific User ID who has administrator Role
- How to customize wp_signon()
- Can I create users that have access to *some* other users posts instead of all other users posts?
- Set default page for user account in admin
- Hide everything on site for visitors except specific page IDs
- Managing Users and Creating Groups [closed]
- How to disable a specific page for a specific user
- wordpress user roles are not working
- Displaying different in-page content to cliente/admin
- Problem with automatic role change through cron job
- How can I allow an User to publish only 5 posts per month?
- Where are $current_user->allcaps set?
- Allow admins to login as other users
- Can I Create a Second Admin Level User Role?
- WordPress user role with create user capability?
- Update user role for expired membership
- Custom User Role: Can Edit Own Page, Cannot Create New
- WordPress install checking permissions of user id 0
- Allowing users to edit only their page and nobody else’s
- How to bulk change user role to “No role for this site”
- Restrict Access to the User Profile
- Limit user access to installing/configuring a plugin?
- How to remove/limit Editor accounts privileges, to prevent them from deleting media and pages created by Admin
- Editor can create any new user except administrator
- Find out if logged in user is not subscriber
- User-edit role setting distinct from wp_capabilities? [closed]
- What the user_status column?
- Show admin bar only for some USERS roles
- Allowing an email as the username?
- Grouping users under parent user
- Check if specific username is logged in
- How to update user role without logout
- How to check user role without using current_user_can()
- Do not allow users to create new posts and pages
- How to assign capabilities to user NOT to User Role
- How to assign an additional/extra/second user-role to multiple users (of a specific user-role)
- How to stop a user from updating the post date
- BuddyPress | Check if user is in current group [closed]
- WordPress edit_user_profile_update update secondary role
- Is it possible to get a user with just the password field?
- How to get the Role Name of the current user? (WordPress)
- set_role has no effect
- WP_User->add_role producing unexpected results
- Users roles, make a page belonging to multiple users
- How do I list in the backend all users that were assigned to a custom role?
- How to add local users to wordpress without email password?
- Get User Role by ID not working
- Getting users by specific capability, not role
- Upgrade Nightmare – No Posts, Permissions Issues and Can’t Create a new post
- Are User Levels Still Currently Used?
- Error: How to allow the “contributor” to upload media in wordpress
- Restrict access of admin uploads to certain logged-in users?
- Remove Capabilities from WP admin for specific user role
- Fix permissions for users role
- User capability for editing their own comments
- What are some best practices for user exit strategy?
- Is there a way to identify a user in a custom REST API method? [duplicate]
- Reset Password policy
- Allow Contributors to Upload Files
- Is possible to allow user to login with different role?
- How change user type from contributor to author
- How do I let contributors edit their posts after being approved once?
- How can I prevent certain custom roles from seeing other custom roles on the user list page?
- How do you manage your pages or functions that require logged-in users?
- Load user by specific role
- What’s the correct way to add capabilites to user roles?
- Fix ‘Add Role’ Option not there in wordpress 5.2.2
- User roles not displaying
- Delete a user from frontend
- Unique password to access a section site
- Assigning multiple or additional capabilities to specific users or how to create additional roles like bbpress roles?
- Change User Role based on Point System Issue
- Using my own user table
- How do I modify the user role ‘subscriber’ to allow the user to delete posts
- How to make WordPress ‘editor’ role to list/view/add/edit users only with the role ‘author’?
- How to hide “Change role to” dropdown on Users admin menu
- hide page menu from admin panel for specific users
- Disabling user capability to edit_posts or delete_posts in the front-end
- In admin manage users page, how can I stop users with certain privileges from editing users with other privileges?
- User Role not showing in Users Screen
- Groups roles & capabilities
- Button for users to upgrade their user role + Button to show current user role!
- Username has been exposed
- Subscriber role – blank page
- How to get only 1 role from user
- User “none” role
- view and update form only for registered users
- each user having category with their name and can add sub categories post in that category
- Giving users an editable homepage/business directory
- i need to let a user to add a role from a frontend form
- Increase by one the user counter on specific role
- Show only users with the same role in Dashboard user list
- determine active user browser at the same time
- Wordpres password as plain text in email
- Remove My Account Menu items in Woocommerce based on user roles
- WordPress: New user role which is ONLY allowed to manage media
- (How) does WordPress protect direct access of user data?
- How to allow users in wordpress to switch between two assigned roles e.g. Candidate & Employer