Might not be the easiest way, but you could use a custom filter:
def formsbyfield(forms,field):
""" Given a list of similar forms, and a field name,
return a list of formfields, one from each form.
"""
return [form.fields.get(field,'') for form in forms]
register.filter('formsbyfield',formsbyfield)
{% for fieldname in forms.0.fields.keys %}
<tr>
{% for ff in forms|formsbyfield:fieldname %}
<td>{{ff}}</td>
{% endfor %}
</tr>
{% endfor %}
Something like that should work, though I haven't tested it.