Is it possible to make a second "edit account" page that only allows users to edit some profile fields?
I had the same situation before and handle it with power full druapl feature hook_form_alter, we have 2 forms for user, registration and user edit      


user_profile_form ( in editing)
user_register_form (in registration)


We just need hide your specified fields in edit manner So in your custom module 

function yourmodule_form_alter(&amp;$form, &amp;$form_state, $form_id)
{
    global $user;

    if ($form_id == "user_profile_form") {
       // ym($form);
       // you also can perform this action for specified roles 
        //if (!(in_array('blogger', $user-&gt;roles) || in_array('administrator', $user-&gt;roles))) {
            hide($form['field_mytest']);
            // hide other field with this method
        //}
    }

}


After that  field exists in registration as you can see below

 

and not exist (hide) in edit  manner



Also you can set them read only instead hiding them with $form['field']['#access'] = FALSE; 

And another solution is using field permission module 


  The Field Permissions module allows site administrators to set
  field-level permissions to edit, view and create fields on any entity.
  Features:
  
  
  Enable field permissions on any entity, not just nodes.
  Role-based field permissions allowing different viewing patterned based on what access the user has.
  Author-level permissions allow viewing and editing of fields based on who the entity owner is.
  Permissions for each field are not enabled by default. Instead, administrators can enable these permissions explicitly for the fields where this feature is needed.
  


As features that this module provides for us anonymous user( un-register user can edit those field and register user only see(readonly manner).