This is a tree.
Your nodes are the questions, and each question has as many children as there are answers to it. Your session context contains the current question, and it leaps forward by asking a new one.

We could also say that this tree is a directed bipartite graph with each question node connecting to multiple answers, and each answer node connecting to exactly one question node.
A good storage would be, for example, XML:
<questions>
<question id='3'>
How are you?
<answers>
<answer next_question_id='4'>Fine, thx</answer>
<answer next_question_id='5'>Badly</answer>
</answers>
</question>
<question id='4'>
Boy or girl?
<answers>
<answer next_question_id='8'>Boy</answer>
<answer next_question_id='9'>Girl</answer>
</answers>
</question>
<!-- ...-->
</questions>
Or, if you want to keep the tree visualized, you could try YAML:
root:
title: How are you?
answers: [
{
text: Fine, thx
next_question:
title: Boy or girl?
answers: [
{
}
]
}
{
text: Badly
}
]
A session might look the following:

So, how it is implemented MVC-wise is a different matter.
You have similar things in adventure games (infocom games) btw, but that's much more advanced.
Edit: this thing is called a Dialog Tree, and you can find answers on StackExchange as well.
Storyboard?