Если эти поддомены разбросаны по разным контекстам

Если эти поддомены разбросаны по разным контекстам, то будет проще сделать. Добавить в таблицу заказов колонку Контекст и в процессоре получения заказов добавить в условие списка контекстов. Что-то типа такого:

if(!$this->modx->hasPermission('shop.view_all_orders')){
    $ctxs = array();
    foreach($modx->getCollection('modContext') as $context){
        if($context->checkPolicy('shop.view_orders')){
            $ctxs[] = $context->id;
        }
    }

    if($ctxs){
        $c->where(array(
            'context_key:in' => $ctxs[],
        ));
    }
    else{
        $c->where(array(
            '1=2',
        ));
    }
}