OK, first of all, plainly this is a mess. The fact that there is a white wire hooked up to a black wire without any recolouring of it alone says that (1) there's some amateurish stuff going on here, and (2) you cannot trust any of the white wires to actually be neutral until you prove that they are. So proceed cautiously, and take notes as you go.
There are a lot of questions here but a good one is:
What's the easiest way to track a specific wire to see how it flows without ripping out the walls?
Start by obtaining a long three-prong extension cord. Plug it into an outlet that is on, and verify with a voltmeter that there is voltage between the hot and neutral, there is voltage between the hot and ground, and no voltage between the neutral and ground. You now have an extension cord which you can use to provide a known ground and a known hot.
Next, turn off the power to everything that you're going to be working on.
Next, put a piece of tape with a number on every wire that you're going to be working on, and start making notes about the color and location of each numbered wire end, and what they're hooked up to now. Take photos. You want to be able to put this back together the way you found it later. Number the switches as well.
Next, carefully get all the wire ends exposed but not touching anything, and turn the power back on. Use your known ground and your voltmeter to determine which wires are hot under every combination of switches. Remember, some of the whites are hot.
Turn the power back off again.
Test everything again to make sure that no, really, the power is off.
Now test everything again against the known hot to find out which wires are neutrals that run back to the panel. Again, test everything against all combinations of switches, remembering that at least one mistake has been made in this wiring so far; there might be more. Interrupting a neutral with a switch is almost always wrong, but I have found plenty of interrupted neutrals in old houses.
Now unplug your extension cord from the wall and get a flashlight. Rig yourself up a continuity tester out of the extension cord and the flashlight. (Of course if your voltmeter has a continuity tester, use it instead of jury-rigging one out of a flashlight.)
Suppose you suspect that wire ends labeled 2 and 9 are the same wire. Attach end 2 to the extension cord ground. Run the extension cord to the other. Now wire the extension cord to the battery, the battery to the light, and the light to end 9. Did the light go on? Then your hypothesis is confirmed. Did it not go on? Try every combination of switches. Again, record your observations.
Keep doing that until you have enough observations to form a consistent theory of how the wiring runs through the walls. Draw a diagram.
Once you're there, you should be able to solve your problem. If you cannot, then you'll be able to post a question here with a lot more information.
Also, take this opportunity to ensure that every wire is correctly coloured, by putting tape on miscoloured or confusing wires. Also, if there are oddities such as a box that has hot wires from two different breakers, make a note of that for the next guy.
Best Answer
Sure. But it will take 5 wires, and due to the equal-current rules, you can't just gang a /2 and /3. Given the goofy cable required, conduit makes more sense costwise.
First, do you want the always-hot and switched-hot on separate circuits? I do that so my dumb mistakes don't plunge me in the dark.
Receptacles come in white, beige, black, gray and if you hunt really hard you can find other colors. Plan for different color receptacles for the lights vs the always-hot.
Also, because fitting wires onto screws from a ladder is a nightmare, I suggest you sit at an ergonomically comfortable workbench, and pigtail every single receptacle. Yes, I know receptacles have 2 screws on each side and pigtailing isn't necessary.
When I say "run a wire from source to each box. i mean daisy-chain: run source to box 1, box 1 to box 2, box 2 to box 3, etc.
Method 1: conduit, one circuit, source anywhere
You will use a variety of wire colors, the purpose of which is to make this wiring job stupid-easy. You can use fewer colors at your peril but if you do, I very strongly recommend getting a $3 pack of 5 colors of tape, and marking every wire that isn't natively that color. Feel free to change my color code, just be consistent!
Pigtail your to-be-always-on receptacles with black on the hot side and white on the neutral side. Pigtail your lamp receptacles with red on the hot side and white on neutral.
Anywhere the wires need to stop to connect to something, you can cut, but leave 8" of slack on each end of each box. The messengers pass thru and don't need a loop or slack in passthru boxes.
Wiring the 3-ways is stupid easy because one wire at each switch is unaccounted for, and one black terminal remains.
Nothing left but receptacles and it's all color coded. Nut together all the white neutrals, black hots and red switched-hots.
Method 2: conduit, two circuits, source anywhere
An even larger variety of colors, introducing brown and gray for the second circuit.
Pigtail your to-be-always-on receptacles with black on the hot side and white on the neutral side. Pigtail your lamp receptacles with brown on the hot side and gray on neutral.
Spare wire to the black screw on the 3-ways as before, then join same colors. Done.
With flexible cable (one circuit)
Just to put you on notice, this will be a nightmare tangle. As you may have gathered, you cannot do this with a single cable unless you have a source for /5 cable. But also, there are current-return rules that must be followed.
You will need to tape wires colors, or you will lose your mind. Upside, you only need one color of tape. When you mark a wire, mark both ends at once.
Fasten your seat belt!
Sit at your ergonomic workstation, and pigtail all the always-hot receptacles with black and white, and the switched-hot receptacles with red and white.
From supply, run a /4 cable (you heard me) to 3-way switch #1. On this cable, tag the red and blue wires with yellow tape.
From supply, run a /4 cable to the other 3-way. On this cable, tag the black and blue wires with yellow tape.
Between supply and each of the receptacle locations, run /3 cable. Yes, this may involve paralleling the /4 cable. This is necessary due to current balance rules.
At each 3-way: yellow is messengers and you land them on both brass screws on the 3-way. White is neutral and is unused, for now. The remaining wire goes on the black screw.
At source (if it isn't a 3-way box): nut the 2 yellows "thru" the box.
Now join all blacks to blacks, reds to reds, whites to whites. Done.
If you can't get /4 cable you are allowed to use /2/2 cable and use the white-red in place of blue. Taping it yellow will mark it as a hot.
With flexible cable (2 circuits)
Fuggedaboutit.
No seriously it can be done, but you use /2/2 cable (not /4) between supply and each receptacle, and to the 3-ways.
Follow the above instructons with a few changes.
Now your color codes are
Join 'em.