Yea, This has turned out to be a scripting question. After looking at the 2da for the tokens used in conversations I have found that it will easier to and faster to just script out what you need without using the 2da.
if you need help on how to set the value for the custom toke in the conversation the lexicon is a good place to look
Function - SetCustomToken - NWN LexiconGetting the value for the token will be different for acording to what you want to get. For the great mass of male/female tokens I would use something like the following. Keep in mind that the Bioware Tokenizer is not the most efficient of functions. It is however easy to use. you will also have to #include "x0_i0_stringlib" in order to use it.
string sToken = GetTokenByPosition("Mister/Miss","/",GetGender(oPC));
string sToken = GetTokenByPosition("boy/girl","/",GetGender(oPC));
string sToken = GetTokenByPosition("Lord/Lady","/",GetGender(oPC));
string sToken = GetTokenByPosition("lord/lady","/",GetGender(oPC));
string sToken = GetTokenByPosition("Master/Mistress","/",GetGender(oPC));
I hope you get the Idea.
For the first/last name I would get the value like this.
string sFirstName = GetTokenByPosition(GetName(oPC)," ",0);
string sLastName = GetTokenByPosition(GetName(oPC)," ",1);
I hope that helps,
L8