jQuery - Create hidden form element on the fly
$('<input>').attr('type','hidden').appendTo('form');
To answer your second question:
$('<input>').attr({ type: 'hidden', id: 'foo', name: 'bar'}).appendTo('form');
$('#myformelement').append('<input type="hidden" name="myfieldname" value="myvalue" />');
The same as David's, but without attr()
$('<input>', { type: 'hidden', id: 'foo', name: 'foo', value: 'bar'}).appendTo('form');