Authors of programming languages usually try to keep their language as simple as possible, without any unnecessary redundancy. So having any kind of two-side evaluation is redundant and unnecessary. It will only make the language specification 20 pages longer. I think there is no language with this feature.
By the way, your "grammar" (syntax rules) is not clear. What if someone writes
var x = 3, y = 2;
x = y;
By the way, Pascal has a "direction" of assignment. Actually, you can write your code as
var x = 3, y = 2;
x := y;
y =: x;
and write your own simple preprocessor for that, but again, I think it is just a complication of "clean" language.