forms.xml is new since 3.2. It was not needed in 3.1
In a kind of real life situation, there is a lot of overlap in the variables used in different task, with a major difference. The 'read', 'required' and 'write' differ. So I always use task-local copies. That is nice to for auditing (but that might be read from the logs as well)
for designing the .xhtml files, I currently use exadel (free version) in addition to eclipse/wtp/gpd. We should not try to build an editor ourselves. I have some ideas on how to do things (e.g. generate beans for tasks so it is not needed to have things like "taskVariable['variableName']" but task1.variableName or process1.variableName2. Code completion then works in jsf editors, but these beans have to be put in a faces.config file (maybe a jsf editor can be augmented by reading aspects, that would be nice).
I'll put some additional text up tomorrow