If you wanted to let players choose their own then having a look at the player name example would be your starting place. It would then also need to ask for desired pronouns and set $xir etc. as you've said. If you only wanted to offer a certain set then GUI Buttons that run a few Set Variable commands would be an approach there.
Note that this will get -very -complex -very- fast with translations, but it's still probably the best option. Remember you'll also need two versions of each pronoun for a capital starting letter or not, but $Xir and $xir read as the same variable to Fungus (variable names are case-insensitive). I think I added an underscore to one of them, and you can still WRITE it with a capital (i.e. $xir and $_Xir). Good luck!
Ah, alright I'll give the GUI buttons a go. Didn't think of needing two versions for capitalisations as well. Good thing you mentioned it or I would've probably ended up scratching my head over it for a while. Thank you both for the help!