I guess I'd have one field for the full name, in the order it's normally put. Then several separate fields for name elements, each with a number. Then another field that stores what order those name element fields are supposed to go. Maybe a couple of fields like that, representing the order to put the name elements for official use, for direct address, etc. And of course title fields, suffix fields, etc.
You're giving me flashbacks to when I worked on an email server that used X.400 standards, where there were multiple fields for names for each user (forenames, family name, generation, etc.), and both an ASCII (or possibly ISO 8859) and Unicode version of each one, and for any one user, they might have neither, one or both versions of each field configured for their account, and when they logged in they might specify a mix of the ASCII or Unicode versions, and I had to find the correct account...