turbod estava perto de sua resposta, ele estava apenas ordenando aleatoriamente, quando parece que você queria ordenar por pid, depois de obter as linhas aleatórias desejadas em conjunto com as referentes a A2 e A3:
(
SELECT *
FROM `mytable`
WHERE
name ='A2' OR
name ='A3'
LIMIT 2
)
UNION
(
SELECT DISTINCT *
FROM `mytable`
WHERE
name !='A2' OR
name !='A3'
ORDER BY RAND( ) LIMIT 2
)
ORDER BY `pid`