You need to manipulate The Query.
Can I assume that you have a Custom Post Type called 'jobs' and a Custom Taxonomy call 'location'? If that is the case, you can make a tamplate called 'index-jobs'. This template will be called to show a list of your jobs.
At the top of the template you need to construct your query.
/** Build the arguments to get all 'jobs' */
$args = array(
'numberposts' => -1,
'posts_per_page' => get_option('posts_per_page'),
'paged' => $paged,
'post_status' => 'publish', // Add private, etc. if you wish
'post_type' => 'jobs',
/** Check that a Term from the 'location' Taxonomy has been parsed */
$taxonomy = get_query_var('taxonomy');
$term = get_query_var('term');
if($taxonomy === 'location' && $term !== '') :
$args[$taxonomy] = $term;
/** Query the posts */
Please note that this code is untested, so may require a few tweeks, and may contain the odd typo. However, it should set you on the right path. After this, you can display the results of the query as you so please.
You could also look in to 'taxonomy.php'. Assuming you are using pretty permalinks, this means that you could display posts using the scructure
www.mydomain.com/location/london - this would display all posts that have the term London associated with them (if this is not just your 'jobs' post type, then you can again manipulate the query). When you didplay a list of locations, you link to the 'taxonomy.php' template using
get_term_link($term, $taxonomy); - Function Reference.