Hidden elements can be easily created on a Drupal form. When the form is submitted,
$form_state variable seems to be holding the value of this element in various hooks, "form_alter", "validate", etc.
Note that if you have an ajax call or a jquery code which assigns or modifies the value of the hidden element, this value will not be sent when the form is submitted. For eg, An hidden element is created from -