How to show only a certain part of the entry title?

Hiding part of the title with CSS clipping (as the OP requested in the original unedited title) is almost certainly not the best way to accomplish this. Here is how to do this in the template file.

If all of your titles will be formatted the same way (with a space, a hyphen, and a space), you can do something like this to get just the second part of the title further down in the page:

// Echoes the second part of the post title
$title = get_the_title();
$parts = explode( ' - ', $title );
echo $parts[1];

However, depending on your use case it may be better to have just the business name as the post title, and store the location as a custom field. Then, assuming the location is stored in the custom field named location, you can do something like this in the main title section of your template file:

<h1 class="entry-title">
    <?php the_title(); ?>
    <?php
    if ( $location = get_post_meta( get_the_ID(), 'location', true ) ) {
        echo ' - ' . $location;
    }
    ?>
</h1>