Necesita el privilegio CREATED ANY SYNONYM para hacer eso como A, por lo tanto
GRANT CREATE ANY SYNONYM TO A;
EDITAR:Para evitar el privilegio CUALQUIER, haga esto:
a) como A:
GRANT SELECT ON mytable1 TO B;
GRANT SELECT, INSERT, UPDATE, DELETE ON mytable2 TO B;
b) como B:
CREATE SYNONYM a_mytable1 FOR A.mytable1;
CREATE SYNONYM a_mytable2 FOR A.mytable2;