For Alfresco 4.2 you need to use alfresco share forms which are backed by formservices as web-forms.
Create differnt custom content types Then Design respective forms to render those cotent types in alfresco share.
I know this is not going to fulfill all your requirement but that is option. If you want to spend little bit more money you can check out options like crafter which could fulfill your requirements.