Multiply xa = b by the inverse of a from the right and ay = b by the inverse of a from the left and you'll get uniqueness (since x (y) is expressable by means of a,b)
No, in general the solutions aren't equal (if the group is non-abelian).
Take for example, in the symmetric group S_3, x(12) = (123), (12)y = (123).
The first equation's solution is x = (123)(12) = (13), whereas the second one's is y = (12)(123) = (23).
I already did: xa = b ==> xa*a^(-1) = b*a^(-1) ==> x = ba^(-1) and you're expressing the solution x as a function of a,b and this means x is unique since a, b are unique (arbitrary. but once they're given they're fixed and unique).
The same is true with the other one.