Make a field theme function work on empty fields
You may want to change the way you are theming the information, for example by overriding node.tpl.php, but if you really want the field function to be run even when the field is empty, you can do it by modifying the node before it gets displayed:

function THEMENAME_preprocess_node(&amp;$variables) {
  if($variables['type'] == 'mynodetype' &amp;&amp; !isset($variables['content']['FIELD'])) {
      $variables['content']['body'] = array(
      '#theme' =&gt; 'field', 
      '#field_type' =&gt; 'FIELDTYPE', 
      '#field_name' =&gt; 'FIELDNAME', 
      '#items' =&gt; array(), 
      '#bundle' =&gt; 'mynodetype', 
      '#label_display' =&gt; 'hidden', 
      '#entity_type' =&gt; 'node');
  }
}


This will make sure the field is passed to your theme field function, even if it is empty.

To get the values to use for FIELDNAME and FIELDTYPE you can print out the contents of $variables['content'] on a page where the field is not empty.

Again, it might be better to override the theme of the entire node in this situation.