I belive that there is no problems in making a new user portlet that overtakes some of the current user portlets features.
The entire API can be viewed in the source behind the user-portlet.
I assume your problems is to add fields to the user entity in the database.
Here I would say DONT. Instead create your own user-table or person-table in your own database and link the data key to key.
Such tables are often a good idea to have in own application. To store knowledge of the uses current application state. (last invoice date... etc)
On the other hand if you have some enhangements to the portlet, that is of general interest then you can talk to the portal-core team.