I think the best solution would be a single interface. Create each persons portrait inside of an interface button & then create & assign a condition to each button. Give the condition the exact same name as the character it belongs to, that way you can set the condition to true without having to create a bunch of if else queries. I assume the portraits & dialog background box will be in the exact same place for each character?
Anyway, because you can query...
if owner:getId().tableId == eCharacters then
it means you could then follow it with something like this...
Conditions[ text.TextOwner:getName() ].ConditionValue = true
You would also need to create a event handler with the textStopped flag to make sure you reset the condition back to false.