Hola
Vas a tener dos cosas que ver, para resolver el problema de como saber cuantas categorías tener podes en todo comento haciendo una consulta que te devuelva la cantidad de filas:
"select count(*) as cantidadCat from categorias" ( o preguntas, la tabla que necesites)
También podes guardar la cantidad en una variable de session o viewstate para consultarla
Luego para obtener los valores usas un FOR más o menos así
Dim cantidadCategorias as Integer ' Acá con la consulta o una variable le asignas el valor
For j = 1 to CantidadCategorias
response.write(request.form("grupo " & codigoCategoria & "-" & J))
Next
Esa sería mas o menos la idea. Otra cosa podes agregar controles asp.net usando control.add:
Textbox xTex = new Texbox()
xText.Name = "algo"
xText.Text = "otra"
formAspNet.Controls.Add(xText)
Aca podes ver un video con codigo fuente:
http://www.asp.net/Learn/videos/video-383.aspx