I figured it out using the case command. Using the trick in the linked answer, only mvzip the field if it is not null. Otherwise, do not change the mvzipped variable. In this case, test_message is the field that is sometimes MV and sometimes null.
| eval test_specific_vals=case(!isnull(test_message),mvzip(test_specific_vals,test_message,"&"),isnull(test_message),test_specific_vals)
Same type of thing at the end of the query when assigning to variables
| eval test_msg = case(!isnull(test_message),mvindex(test_specific_vals,4))
... View more