You have a very open ended question. You should start on this and post specific questions for when you are stuck.

For your questions, if the number of questions are variable, you can use a repeater control. You'll also need to design your database tables properly.