Well, one way would be to use self-switches inside a loop, like this:
Loop
Control Variable[001:RandomNum] = Random No. (1..5)
Conditional Branch: Variable [001: RandomNum] == 1
Conditional Branch: Self-Switch A is OFF
Question Number 1
Control Self-Switch: A = ON
Break Loop
Branch End
Branch End
Conditional Branch: Variable [001: RandomNum] == 2
Conditional Branch: Self-Switch B is OFF
Question Number 2
Control Self-Switch: B = ON
Break Loop
Branch End
Branch End
...
Repeat Above
It's a bit of a pain and you could only have four though (unless you use game_guy's
More Self Switches script). You'd also need a way to break the loop immediately if no more questions were left.
You could also do the same, except using a variable instead of self-switches to track which questions have been answered. For the first question, you'd add 1 to the tracking variable. For the second question, you'd add 2; for the third question you'd add 4; for the fourth question you'd add 8; for the nth question you'd add 2^n-1, etc... Then you could know whether each question has been asked before by looking at that tracking variable.
However, I don't really see the point of randomizing the questions if you need to have them all asked anyway? It's a lot of work for a feature of questionable value.
Also, there might be an easier way to do it, but that's the first that came to my mind. I have a sunburn though, so I'm not really thinking clearly.