I had several times the need to create long surveys; the approch I followed was the <i>divide et impera</i>, dividing the survey in different modules, and creating different ez objects per each of them.
I also created a folder (unique for all the users), customizing the template to guide the user in the different actions I need from him, and in particular:
- create new objects - modifing existing objects
using ez roles, you can control perfectly the right of the users in this folder.
you can see a shot of an application I made recently: http://up.opencontent.it/powos.jpg
Or support the Open Funding's eZ Survey project, <i>http://ez.no/developer/open_funding/open_funding_projects/ez_survey#msg152783</i>
They seem to have the very best ideas when it comes to some of these ... another related if not similar thread in the forum is <i>http://ez.no/developer/forum/setup_design/content_class_attribute_description</i>