Hi,
WordPress has been moving away from user levels toward user roles and capabilities instead, so my first suggestion would be to use Roles instead of Levels.
Now, since the orderby parameter does not have an option for sorting by Role, what you could do is use multiple queries per user role (with wp_user_query), store each result in a separate variable, and then echo them in the desired order.
The only problem with this approach is server load.
Another approach would be to use only one query, loop through your users with a foreach statement, and use current_user_can or user_can in a multiple if statement to echo the results. I'm thinking something like this:
<?php
$query = "SELECT * FROM $wpdb->usermeta WHERE (meta_key= 'wp_s2member_custom_fields') AND (meta_valueLIKE '%$professione%') AND (meta_valueLIKE '%$paese%')";
foreach ($query as $user) {
if ( user_can($user->ID, 'administrator') {
echo 'admin bla...';
}
elseif ( user_can($user->ID, 'editor') {
echo 'editor bla...';
}
}
?>