Mesmo sendo um Newbie penso que consegui solucionar o problema.
Pensei assim> 1º o random escolhe a 1ª frase. Depois as duas que faltam também são escolhidas pelo random. Possivelmente devem existir outras soluções com menos código, mas aqui vai o meu contributo.
program Project1;
uses crt;
var
a:string;
b,c:integer;
begin
clrscr;
writeln('Introduza o seu primeiro nome:');
readln(a);
randomize;
b :=random (3)+1;
case b of
1:begin
writeln('Olá ',a,'!');
c:= random (2) +1;
case c of
1:begin
writeln('Como está ',a,'?');
writeln('Prazer em vê-lo ',a,'!');
end;
2:begin
writeln('Prazer em vê-lo ',a,'!');
writeln('Como está ',a,'?');
end;
end;
end;
2:begin
writeln('Como está ',a,'?');
c:= random (2) +1;
case c of
1:begin
writeln('Olá ',a,'!');
writeln('Prazer em vê-lo ',a,'!');
end;
2:begin
writeln('Prazer em vê-lo ',a,'!');
writeln('Olá ',a,'!');
end;
end;
end;
3:begin
writeln('Prazer em vê-lo ',a,'!');
c:= random (2) +1;
case c of
1:begin
writeln('Como está ',a,'?');
writeln('Olá ',a,'!');
end;
2:begin
writeln('Olá ',a,'!');
writeln('Como está ',a,'?');
end;
end;
end;
end;
readln();
end.