I guess maybe I was thinking along these lines:
<asp:datalist runat="server" id="lstQuestions"
<uc:MyQuestionControl runat="server" />
You bind a list of questions to the datalist. You'd probably bind a question ID to the control in the template, then the question control loads the question and knows what do to display that particular question. The datalist handles the layout in the 3 column tabular format.