Passing variables via template.php for search module
Adding fields programatically

Use plain old dpm($variables); in your search-results.tpl.php file to check variables.

And yes, the preprocess function is where to add in extra information, you can use something like:

$variables['custom'] = field_view_field($entity_type, $entity, $field_name)


field_view_field prevents you from having to load the whole node and takes care of languages etc for you.



Adding fields in the UI

Go to the Manage Display tab for the content type in question and scroll down to CUSTOM DISPLAY SETTINGS.

Turn on the Search result checkbox and save, then go to the Search Result sub-tab.

Arrange your fields how you wish them to show in search results - note that fields aren't available to the template file unless they are displayed in the Manage Display tab, this might be the root cause of your problem.