Вроде бы поборол задачку.
Долгое и упорное гугление подсказало, что без
leftJoin будет не обойтись. В итоге родился такой код:
{'!mFilter2' | snippet : [
'parents' => '[[*id]], 100', // Из текущего + 100
'suggestions' => 0,
'limit' => 10,
'includeTVs' => 'price, spec',
'tplPageWrapper' => '@INLINE <div class="pagination p10"><ul>[[+pages]]</ul></div>',
'leftJoin' => '{
"spec": {
"class":"modTemplateVarResource"
,"alias":"spec"
,"on": "modResource.id = spec.contentid AND spec.tmplvarid = 62"
}
}',
// Либо spec не указан (что сделано в дочерних ресурсах текущего), либо spec = id текужего ресурса (а может и нескольких)
'where' => '["(`spec`.`value` IS NULL OR `spec`.`value` IN ([[*id]]))"]'
]}