Quite a few different ways to go are possible here.
It's possible by using a script trigger on your field. The script trigger can perform a script that checks to see whether yes or no was selected and takes appropriate action. This action could be to switch to a different layout with the follow up questions, or it could pop up a small window with these questions. It could also perform a find that updates the list of questions currently visible by finding a different set of question records depending on the answer entered by the user...
Though a farily ambitious project I would think that the windowing idea may be the easiest to implement and provide the best flexibility
With a survey table, a questions table, a branching table, a responses table , a display table(mostly global fields) and a results table you would be able to create a system where
A script loops through a survey of baseline questions where a branching table controls the flow of the next question based on the responses (the display table is used to display the question and the answer choices [controlled by the responses table and some conditional formatting]) the answers along with the question ids are stored in a results table so that the question path and answers are captured and can be reviewed. When a branch of questions reaches the end the survey moves on to the next baseline question.
At least thats how I would construct it