On the problem of taking elements of different (degenerated-)state vectors that do not vanish on the perturbation matrix, Weinberg uses the following approach, when dealing with the Zeeman effect:

In this way, he goes from the first to the second equation shown as attachments.

My main source of confusion arises by the fact that I can't see how can you align a (single-direction?) B vector with all the three (supposedly not parallel) axis of the coordinate system used. But I am surely completely missing the point in here.

Weinberg just puts the [itex]z[/itex]-axis in direction of the magnetic field and chooses the joint eigenbasis of the undisturbed hamiltonian, [itex]\vec{L}^2[/itex], and [itex]l_z[/itex].

Note that due to the rotationinvariance of the undisturbed hamiltonian you are allowed to choose any direction as the [itex]z[/itex]-axis. For the perturbation it's just convenient to take it in the direction of [itex]\vec{B}[/itex].