Sorry for the double post, but I also wanted to say something about the main topic, NPC conversation.
What you said here hits the nail pretty much on the head, I think:
Some authors try to avoid the problems by having an ASK/TELL-system with topic suggestions:
>ASK JIM ABOUT ALIBI
“Where were you at 6 o’clock?”Jim starts to sweat. “Uh, I was in the library, spending some time with Goethe. Alice was there, too.”
(You could: ask him about Goethe, ask him about Alice, tell him about Alice’s statement)
Ideally, when it works, it gives the player a sense of freedom, but alleviates the guess-the-topic problems.
Some links with helpful material on conversation systems: