Here's one way off the top of my head (there's probably something better):
1) Define a new field in the table as List ( salutation_informal ; salutation_formal ).
2) Define a self-joining relationship based on the primary key of the current table.
3) Define the value list based on the self-join, related records only, based on the contents of the List field.
I have addressed this issue not with a value list but with a name chooser field and associated portal which searches on all words in a name. You start typing in the chooser field and the matches in the portal reduce as you type, so in your example, the name would show in the portal as a match regardless of whether you typed J, M or D. The key is a field which I call utilityNameSearch which lists all words in a name—which in my case can include personal names as well as business entity names, so if I typed Fi in the name search it would equally match Filemaker Inc, Finn McCool, Sam's Fish and Chips, Harry Firkin and Timbuctoo Fire Brigade.
The notion I had was to reduce keystrokes as much as possible.
Also make the choice of the salutation as intuitive to the user as possible.
So after typing in the name fields, the user would only need to tap a radio button to select the desired salutation.
I think I misunderstood your original question. If you are talking about choosing which salutation to assign to a contact that sounds more like just a value list of all possible salutations (Mr, Miss, Ms, Mrs, Dr, Prof, Sir, etc). Why does it need to be more complicated than that?
Because these days, salutations and names are more complex. Sometimes people prefer to address a letter as Dear John. Other times they prefer Dear Mr. Doe, depending on the level of "formality." I'm just looking for a simple way for a user to populate swiftly the preferred method of salutation.