Yes, in multiple ways, but all with a rule/logic driven approach rather than anything out of the box. However what you still need to have is a place to capture all of that information – that cant be dynamic. So you need a table to capture all kinds of form fields and design a “Superset” form which can show parts of that form based on preferences or form administrator’s config.
Lets say your table which captures the form inputs has 20 fields all named F1 → F20. All these 20 fields are arranged in a form. You would then also need to have a place to store which fields need to be shown on that form – so a separate entity to store a TemplateName and a Template Fields list.
When you render the form – check for Template Name, fetch the field by field display status. Use that status to show or hide the field. Your validations may be tricky – but thats an approach.
The key here is to use dynamic visibility and configuration to show/hide parts of the same form.
No that is not possible unfortunately. You need to design the pages in your model. You could create a very basic page designer but the data you store in those pages will not be structured data.