profile 2 module with services module
I'm assuming you're familiar with Services.  In your endpoint,
Copy the pattern here:

                    array(
                        'name' =&gt; 'username',
                        'type' =&gt; 'string',
                        'description' =&gt; 'A valid username',
                        'source' =&gt; array('data' =&gt; 'username'),
                        'optional' =&gt; FALSE,
                    ),
                    array(
                        'name' =&gt; 'password',
                        'type' =&gt; 'string',
                        'description' =&gt; 'A valid password',
                        'source' =&gt; array('data' =&gt; 'password'),
                        'optional' =&gt; FALSE,
                    ),


For your arguments, and add your field machine names.

Inside your callback, you can set $form_state['values'][...] with the passed values, and then use

 drupal_form_submit('user_register_form', $form_state);


To register the user.