As of February 2011, django-helpdesk supports custom fields on the Ticket model. These fields are created by using the Django administration tool, and are shown on both the public and staff submission forms.
You can use most Django field types including text, integer, boolean, and list.
The demo at http://demo.jutdahelpdesk.com contains an example of each type of custom field, including a mix of mandatory and optional fields.
Note that this feature is still in beta - it needs quite a bit of testing and no doubt has bugs!