Du behöver privilegiet CREATED ANY SYNONYM för att göra det som A, därför
GRANT CREATE ANY SYNONYM TO A;
EDIT:För att undvika ALLA privilegier, gör så här:
a) som A:
GRANT SELECT ON mytable1 TO B;
GRANT SELECT, INSERT, UPDATE, DELETE ON mytable2 TO B;
b) som B:
CREATE SYNONYM a_mytable1 FOR A.mytable1;
CREATE SYNONYM a_mytable2 FOR A.mytable2;