The problem is that the second meta array’s value, location, could be associated with one of three different keys. Would that be written then, like this?
query_posts( array('post_type' => POST_TYPE,
TAX_CAT => $term->slug,
'ignore_sticky_posts' => 1,
'posts_per_page' => 3,
'meta_query' => array (
'compare' => '=',
'relation' => 'AND',
array ( 'key' => 'mpl_highlighted',
'value' => 1),
array ( 'compare' => 'how compare',
'relation' => 'OR',
array ( 'key' => 'country',
'value' => $userlocation ),
array ( 'key' => 'state',
'value' => $userlocation ),
array ( 'key' => 'state',
'value' => $userlocation ) ),
'orderby' => 'rand' ) );