I have something similar, and can now express the desired faces as variables such as this;
figure, h1 = pdegplot(model,'FaceLabels','on'); %Display model and create variable to find facelabels.
hp = h1.Parent;
faceLabelsArray = hp.Children; %Pull Facelabels from figure
LF = length(faceLabelsArray); %Define length so make this universally applicable
labelCells = {faceLabelsArray(1:LF-6).String}; %Pull separate cells for each face
labelNums = length(labelCells):-1:1; %The faces are created backwards, this makes it chronilogical
positionCells = {faceLabelsArray(1:LF-6).Position}; %Find (x,y,z) coords of each face label
positionNums = cell2mat(positionCells'); %Make this into matrix
a = find(positionNums(:,1)>(cubelength/2)); pos = labelNums(a); %Find specific faces based on a set location
b = find(positionNums(:,1)<-(cubelength/2)); zer = labelNums(b);
The reason why I have set the boundary for my desired faces to be chosen is just because I have it centred on (0,0,0).
Hope this helps anyone with a similar requirement!