Я рассматриваю 2 варианта и оба не нравятся. Первый - создание 2 таблиц (forms form-fields) и через join запрос строить форму. Не нравится тем чтохотелось бы сделать проще. Например генерировать форму скриптом в текстовом поле и сохранять в виде html. Но этот вариант не нравится тем что для правки формы пользователю надо знать html. Вот если бы найти золотую середину - было бы замечательно.
Добавьте ко второму варианту "некий язык/шаблон", понятный простому пользователю, для построения формы. и на основе этого "шаблона" скриптом генерируйте html