You would most likely want to add a controller to your custom plugin, with an 'action' method designed to handle the url request and generate a user; using 'post' or 'get' to pass parameters to the controller action.
In the controller action, you can access your parameters using:
$username = craft()->request->getParam('username');
You can then populate a new User Model using the passed params and save the model.
$user = new UserModel();
$user->username = $username;
$user->email = $email;
$user->firstName = $firstName;
$user->lastName = $lastName;
'customField' => $customFieldValue
// We now have a user Id, so assign user to a group
// or to multiple groups
//craft()->userGroups->assignUserToGroups($user->id, [$groupId, $otherGroupId]);
However, by default, controller actions are only accessible to logged-in users. If you want to allow anonymous access you would need to specifically allow it using the $allowAnonymous property. This definitely introduces some security issues however, so proceed with caution. For example: definitely do not just assign user group(s) blindly from passed parameters or someone might be able to give themselves admin access!