How can I wire several receptacles between three-way switches so they're half switched?
Since OP has indicated that wiring is accessible via an attic crawl space, here is a solution that requires adding another run of 12/3 between the two switch boxes. The currents in each cable are balanced, no box has more than three wire nuts, and neutral is available at one of the switches.

Add a 12/3 run from one switch box to the other. This doesn't need to go anywhere near the outlet boxes, and certainly should not add to the outlet box fills by passing through them.
Feed the constant-hot to the far switch via the new cable. In the diagram I used the red wire so that each switch would have three different colors on its terminals. This should be marked with black paint or tape to indicate it is now constant-hot.
Use the other two wires as travelers back to the near switch. These should be marked with yellow paint or tape to indicate they are now travelers. This completes a standard three-way switch loop which is completely independent from the outlet runs.
Now in the near switch box you have neutral, constant-hot, and switched-hot. Distribute these to the outlets via the 12/3 segments in the usual fashion.
The switch loop current is confined to the long 12/3 and is balanced, and the outlets current is confined to the distribution 12/3 segments and is balanced.
Do NOT use the existing last 12/3 segment to provide a neutral connection at the far switch box. Remove that segment (don't just cap it off, rip it out) so that no future maintainer will attempt to use it and accidentally create an unbalanced circuit.