Por ahora, son sinónimos.
VARCHAR está reservado por Oracle para admitir la distinción entre NULL y cadena vacía en el futuro, como ANSI prescribe el estándar.
VARCHAR2 no distingue entre un NULL y cadena vacía, y nunca lo hará.
Si confía en una cadena vacía y NULL siendo lo mismo, deberías usar VARCHAR2 .