Did you try something like this:
$loop = new WP_Query( array(
'post_type' => 'business_club',
'meta_value' => 'United Kingdom',
'order' => 'ASC',
'orderby' => 'meta_value',
'meta_key' => 'zone'
) );
while ( $loop->have_posts() ) : $loop->the_post();
I don’t know yet if you can do the then orderby town and title.