Во-первых, //table[6]
выглядит странно. Вы уверены, что не имеете в виду (//table)[6]
? (Первая выбирает каждую таблицу, являющуюся шестым дочерним элементом своего родителя; вторая выбирает шестую таблицу в документе.) Предположим, последняя.
В XPath 2.0 вы можете написать
(//table)[position()=(3,6,8,10)]/td[1]/span[2]/text()
В 1.0 это должно быть
(//table)[position()=3 or position()=6 or position()=8 or position()=10]
/td[1]/span[2]/text()
Или (в любом выпуске) вы можете написать
((//table)[3] | (//table)[6] | (//table)[8] | (//table)[10])/td[1]/span[2]/text()
На ваш вопрос о производительности невозможно ответить, не зная, какую реализацию XPath вы используете.