Sí, definitivamente puede crear tal forma con Visualforce y no debería ser difícil. Puede hacer un uso de la propiedad renderizada para un número fijo de campos o usar APEX: Repita la etiqueta para una lista de crecimiento dinámico. Por ejemplo
<apex:repeat value="{!fields}" var="f">
<apex:inputField value="{!sObject[f]}" />
</apex:repeat>
En dónde en los campos del controlador hay una lista de cadenas que contienen nombres de campo.