Используйте hasOwnProperty и некоторые логические операторы
trace( testXML..*.( hasOwnProperty("@name1") && @name1 == "tom" ));
trace( testXML..*.( hasOwnProperty("@name1") && @name1 == "test1" ));
Я изменил ваш XML, чтобы хотя бы показать результат
var testXML:XML = <family>
<father name1="tom" age="5" ><father1 name1="test1">father1</father1><father2 name1="test2"/></father>
<mother name1="tomylee" age="55" ><mother1/><mother2/></mother>
<sister name1="sister1" age="35" ><sister1/><sister2/></sister>
</family>;
Трассировка для доказательства
<father name1="tom" age="5">
<father1 name1="test1">father1</father1>
<father2 name1="test2"/>
</father>
ОБНОВЛЕНИЕ: ----- ЭТО ЗДЕСЬ -> . * <- это подстановочный знак для захвата всех элементов в testXML </p>