You could push all the sanitized values into an array and save the array under a single meta key, if that’s what you mean. But doing so makes it difficult to query for users using that data as criteria.
You still need to sanitize each field individually. You could compact your code into a loop driven by an array of field names, for example:
$fields = array('name', 'address', 'phone',);
foreach ( $fields as $field ) {
if (isset($_POST[ $field ])) {
update_post_meta($post_id, $field, sanitize_text_field($_POST[ $field ]));
}
}
Ideally, you’d want to also validate each field with field specific criteria, such as limiting total length of input, and maybe limiting allowed characters, such as those in the phone field. Since each field would typically have unique validation criteria, going through each field with its own code as you’ve done isn’t the worst idea, even if it does seem largely redundant.