Taxonomies actually do have archive pages like that, in the same way that categories do. You just have to be sure that when you register the taxonomy, that you do so with rewrites enabled and a slug. For example:
// Control the slugs used for this taxonomy
'rewrite' => array(
'slug' => 'locations', // This controls the base slug that will display before each term
'with_front' => false, // Don't display the category base before "/locations/"
'hierarchical' => true // This will allow URL's like "/locations/boston/cambridge/"
From Smashing Magazine
If they don't immediately show up, be sure to visit
settings > permalinks to reset the rewrites.
To create a template specific to a particular taxonomy, in your case location, copy
archive.php and rename the copy
taxonomy-location.php. This will give you a template specific to that taxonomy. If you want to create a template specific to an individual term, rename it