Funny, I was just thinking of creating a new dialog template that mimics the one found in SCUMM's games. However, it's quite the task, not sure when I'll find the time to do that.
One thing is certain, storing scripts externally is a must. And you should dedicate some efforts to create a proper script editing and testing tool, for obvious reason.
I'd love to do all this well but I'm not exactly the most proficient programmer, so it's gonna have to be hacking and handholding all the way! ?? Well, I was thinking, all we really need to store externally is the sentence, a Boolean to determine if it's available or if it's been "spent" and the next sentence in the conversation. I suppose each sentence needs a Boolean to determine if it's time to return to the dialog selector or not, but even that could be just another number from the next sentence variable. How to pull this all in game is the hard part? ??