Wenn ich das richtig sehe, ist Array1 für die Beantwortung deiner Anfragen 1 und 2 nicht relevant.
Was die Arrays und die Art der Abfragen betrifft, würde ich bei völliger Freiheit keine Arrays sondern Sets nehmen. Das geht aber nur deshalb, weil die Begrenzung auf 256 Elemente bei deiner Problematik eingehalten wird. Damit wird der Test auf Gleichheit und "in Referenz enthalten" zum Kinderspiel.
Delphi-Quellcode:
type
TByteSet = set of 0..255;
var
Ref: TByteSet;
Set3: TByteSet;
Set4: TByteSet;
Set5: TByteSet;
begin
Ref := [7,8,11,16,20,21,28];
Set3 := [7,8,11,16,28];
Set4 := [7,8,11,16,28];
Set5 := [7,8,10,11,16,17,28];
if Set3 = Set4 then; // ist Set3 gleich Set4?
if Set3 <= Ref then; // ist Set3 in Ref enthalten
end;