You can indeed query on post metadata, see Custom Field Parametersfor WP_Query in Codex. I would recommend against using a custom table.
EDIT
– Here’s an example query for all resorts with meta key vertical_feet
between 2000 and 3000:
$args = array(
'post_type' => 'resort',
'posts_per_page' => -1,
'meta_query' => array(
array(
'key' => 'vertical_feet',
'value' => array( 2000, 3000 ),
'type' => 'numeric',
'compare' => 'BETWEEN'
)
)
);
$query = new WP_Query( $args );