I've done this many times in ArcGIS and ArcPad but I don't even know where to start building a custom form for data entry in QGIS. I would like to do this for field operations--QGIS would make a good field tool with a little customization
Easy as pie.
Basically you create a form with controls that are the same name as your fields that you want to bind the values to, QGIS will take care of the rest.
Also: If you want QGIS to auto map the controls in your custom form correctly you have to set the fields control type in the Field settings of the layar e.g if you have a combo box call
Edit: Just made another blog post explaining the binding a bit more http://woostuff.wordpress.com/2012/03/30/custom-qgis-feature-forms-value-binding/