hooks & filters and variables

If you want to return the data, the best solution is to use apply_filters() and instruct the callback to always return:

$output = apply_filters( 'hook_data_handle_'.$args['UID'], $args, $options );

if ( $args['echo'] )
  echo $output;
else
  return $output;

A less elegant solution would be to use output buffering.