Hah! +1 for using Dogma in an example. One of my favorites.
It was an obvious choice for characters with contrasting verbosity…
I guess I could have used Penn and Teller, though.
I would advise you keep a lid on combinatorial explosion by simply giving the player isolated, selective moments at which he can initiate a change during conversation. Always after the introduction, and optionally thereafter at certain key topics that you choose. (For instance, after the NPC reveals he carries the gold passkey to the lab.) This gives the illusion of unfettered switching without bogging down in excessive dialog branching. The player can always switch again after the conversation ends, so there isn’t a requirement for switching back at any point in every convo.
What does unfettered freedom get you, switching every turn? The first time is interesting and dramatic; the second is “hey, that was weird.” After that you alternate between “here we go again” and “oops, we’re back to normal.” Are those third, fourth, fifth, etc. switches giving you value for time? Do all those extra conversation nodes interrupt the story value of a crucial piece of information? “Quick, Bill, i aint got much time, I’m shot real bad. The money’s in the … what the heck?”
I see your point, but I don’t think there needs to be much explosion at all. The example I posted could easily be switched to multiple viewpoints. At most you would expand by a factor of two - instead of using “[The person asked] say[s]” for certain quips, you might have to split it into “Bob says ‘I’m fine’” and “You tell the others that you’re fine.” Of course if you wanted to get complicated you could have people say different things depending on who they’re talking to, but you don’t have to.