Yes, that's exactly how it works. Of course, you have to set your game variable first, before the NPC speaks. So your NPC: and CallScript: lines would be swapped around.
I've had issues trying to use it with the Show Choices command, but I think I established that it was only a bug with the UMS I'm using, and when I tried it with the RTP it worked correctly.