I understand. With something like this it’s really all about the user interface, answering the question “what does the user do to set up the relation?” The easier it is for the user, usually the more complex it is on the code side. For instance, probably the easiest way for the user to set up the relation is for them to start typing in the name of the related person, with the code suggesting a match as soon as it has enough info to identify it. That would require a fairly sophisticated piece of Javascript to get that done.
A much simpler approach would be to offer an alphabetized list of all the last names (or first names) in a dropdown, which once selected, offers a dropdown of all the matching first names to complete the record…again you’d need some Javascript to populate the second dropdown. Simpler still would be a massive dropdown that contained all the names…not too bad until the list gets to be near 100 records. You wouldn’t need any Javascript for that, just a special template that populated the dropdown when the form was displayed.
It’s also possible to post-process the submission: the user just types in the full name of the related person, then when the record is submitted, some custom code tries to find a match and adds the record ID once it finds it.
Of course it all requires custom code. If I were to consider adding a feature like this to the plugin, I’d have to come up with a generalized approach that would be useful to anybody that wanted to use the feature for any of kind of relation.