The simplest (not necessarily the cleanest) way to do this is:
function mytheme_preprocess_htmlmytheme_preprocess_page(&$vars) {
// Try to get a node object associated with the page.
$node = menu_get_object();
if ($node->nid) {
// We're on a node page
if (isset($node->field_background_image[$node->language][0]['fid'])) {
// Load the file object
$file = file_load($node->field_background_image[$node->language][0]['fid']);
// Get a web accessible URL for the image
$path = file_create_url($file->uri);
// Add the background to an inline CSS tag
drupal_add_css('body { background:url(' . $path . ') left top no-repeat !important; }', 'inline');
}
}
}