При таком задании придётся переделать цикл полностью. В частности, придётся отказаться от цикла for и использовать while. Также придётся ввести индекс, определяющий количество значений, не равных введённому. Используем переменную b для этой цели.
Переделывая твой код получаем следующее.
uses crt;
var a,b,d,i:integer;
Begin
readln (a);
randomize;
b := 0;
while i < 3 do
begin
d:=random (10);
if d <> a then
begin
write (' ',d,' ');
i += 1;
end;
end;
end.