Yes, you can create it and there are already many online questions and answers systems developed for multiple frameworks. oDesk (an online freelancing website) had it working for their freelancers to test their skills. Did you try it? I tried, it was a good one. It had everything that you are requesting here.
1. You can select random questions. Create an array, then select a random question through it using indexers.
2. Use JavaScript for this feature. You can create timers to update the UI and control when user can no longer select an answer.
setInterval
[
^] may be the one you are looking for.
3. Use the same name attribute and provide multiple radio-buttons, then check what value was selected. Is this too hard?
4. Not applicable; website won't censor the question if you are asking about human reproduction!
5. Won't be a good idea. Also, since you are selecting random questions, you won't be able to provide the previous question again. To do this, you would have to let go of 1, and use sequence.
6. Get the value of radio buttons, and see if they are right and wrong.
7. Your job!
These are already available online, GitHub etc would even contain the source code for this project. Did you even try to find it? These points are all so much easy, and basic that a starter project in web development might start with this one.