Regarding to the question "Is there any non-abelian group with the property $AB=BA$?", now it is important for us to know that:
(a) Is there any finite (resp. infinite) non-abelian group of order $\geq 8$ such that $|AB|=|BA|$ for all subsets $A, B$?
(b) If the answer of (a) is positive, then
is there any class of groups (e.g., solvable groups, free groups, CLT-groups, etc.) with the property?
is it true for all groups with oreder $\leq 16$?
($AB=\{ab: a\in A, b\in B\}$, and $|.|$ denotes the cardinal number)
This answer is complete once one appeals to Derek's comment below. (Edited after that comment.)
Suppose there are two elements $b, x \in G$ such that $b^{-1} x b \ne x, x^{-1}$.
Consider $A = \{ 1, x^{-1} \}$, $B = \{ b, b x \}$.
Then $A B = \{ b, b x, x^{-1} b, x^{-1} b x \}$ has four elements, while $B A = \{ b, b x^{-1}, b x, b \}$ has three.
Assume thus that for all $b, x \in G$ we have $b^{-1} x b \in \{ x, x^{-1} \}$. Then $G$ is Hamiltonian.
But the quaternion group $Q$ does not satisfy the assumption, as shown by Derek Holt in a comment below.