You need to build a plugin to do this. Start with Writing_a_Plugin.
I am not that good. One thing that is an option is the plugin cimy extra user fields. If I could get it to display in labels and not textboxes that would work.
Simple, I logged into my db with myphpadmin and created the fields and added some information. It displays on my profile page and admin page but it just doesnt update.
Below is the field for first name. If you add a new field in the db just change it form first_name to whatever your field is.
<?php echo esc_attr( $profileuser->first_name ) ?>
You can create as many fields as you want but WordPress is always only going to update the fields that it knows about. Why the need of extra fields on the Profile Page?
The question is where is the function that submit button calls to update the fields.
That being said I can use the existing fields, if I can figure out how to change the name of the contact methods. (aim, yahoo and google talk)
Does anyone know where does are stored?