You mean like changing the conversation file of a character after a recruitment?
In this case you can create an identical "twin" character (n_blah.utc) with a different dialogfile (n_blah.dlg). When recruiting the NPC you add the other "twin" to the party (p_blah.utc) which has a different dialog (p_blah.dlg).
For any other case I can only give you this advice: If it's a one time activated conversation (n_blah.dlg) try starting the conversation with a script:
object oNPCtospeakto = GetObjectByTag("TAG_OF_NPC");
object oPC = GetFirstPC();
AssignCommand(oPC, ActionStartConversation(oNPCtospeakto, "DIALOG_FILE", FALSE,CONVERSATION_TYPE_CINEMATIC, int bIgnoreStartRange = FALSE));
That should do the trick.
Hope that helps...