You need to specify that the variables are vectors of a given dimension:
Reduce[{a . a == 2*2,
Element[a, Vectors[2]]},
a, Reals]
Your particular problems seems hard to solve symbolically, probably because VectorAngle involves trigonometric functions:
Reduce[{a . a == b . b == c . c == 2^2,
VectorAngle[a, b] == \[Pi]/3,
VectorAngle[a, c] == \[Pi]/3,
VectorAngle[b, c] == \[Pi]/2,
Element[a | b | c, Vectors[3]]},
{a, b, c}, Reals]
I get a quick answer by manually simplifying VectorAngle and by setting the direction of the first vector and the plane of the second:
Reduce[{a . a == b . b == c . c == 2^2,
a . {1, 0, 0}/(2*1) == 1,
b . {0, 0, 1}/(2*1) == 0,
a . b/(2*2) == Cos[\[Pi]/3],
a . c/(2*2) == Cos[\[Pi]/3],
b . c/(2*2) == Cos[\[Pi]/2],
Element[a | b | c, Vectors[3]]},
{a, b, c}, Reals]
% // ToRules
Norm[3 a/2 + b/2 + 3 c/2] /.
Table[r -> Table[Indexed[r, n], {n, 3}],
{r, {a, b, c}}] /. {%}