turbod estuvo cerca de su respuesta, solo estaba ordenando al azar, cuando parece que querías ordenar por pid, después de obtener las filas aleatorias que querías junto con las relativas a A2 y 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`