Yes. One can define the angle between two nonzero vectors $\require{cancel}{\bf x}, {\bf y}$ to be the unique angle value $\theta \in [0, \pi]$ that satisfies
$$\cos \theta = \frac{{\bf x} \cdot {\bf y}}{|{\bf x}| |{\bf y}|} .$$ Any other vectors pointing in the same direction as ${\bf x}, {\bf y}$ can be written as $\lambda {\bf x}, \mu {\bf y}$ for some $\lambda, \mu$, and the angle $\theta'$ between these new vectors satisfies
$$\cos \theta' = \frac{\lambda {\bf x} \cdot \mu {\bf y}}{|\lambda {\bf x}| |\mu {\bf y}|} = \frac{\cancel{\lambda \mu} {\bf x} \cdot {\bf y}}{\cancel{\lambda \mu}|{\bf x}| |{\bf y}|} = \cos \theta.$$
So, the angle between two vectors defining directions doesn't depend on which particular vectors we choose, that is, the notion of angle between two directions is well defined.
If we are interested in working with directions rather than vectors, it is sometimes convenient to fix the above scaling of a vector, usually by insisting that the vectors representing a direction have length $1$; indeed, as Simon S points out, in this context such vectors (usually called unit vectors) are sometimes called direction vectors.