Yes you definitely can create such form with visualforce and it shouldn't be hard. You can make a use of rendered property for a fixed number of fields or use apex:repeat tag for dynamically growing list. For example
<apex:repeat value="{!fields}" var="f">
<apex:inputField value="{!sObject[f]}" />
</apex:repeat>
Where in controller fields is a List of strings containing field names.