Относительно вашего первого вопроса, как отфильтровать структуру. Первый шаг - создать вектор, который решает, какие из них оставить, а какие удалить:
%Get the data for the relevant field
persons={test.person}
%For each field, check if the size is 1
one_person=cellfun(@numel,persons)==1
%Select those you want
test=test(one_person)
По поводу второго вопроса, пожалуйста, проверьте документацию по rmfield