My opinion only:

The circuit that you describe is not in and of itself a code violation. Consider having two single pole switches in parallel, each capable of feeding a single lamp. The lamp is on if either or both switches are on. This is totally fine. What you describe is simply a multi-way switch arrangement in parallel with a single pole switch.

Creating the big loop violates the general principal that supply and return current should follow roughly the same path, however this isn't a code violation unless you are using metal raceway and boxes. I'm pretty certain that this would not be a problem with NM, though I would call it ugly because of the current loop.

You could fix this by converting the multi-way assembly into a switch loop, moving the lamp string dead end to the top floor, and then tying everything together (the two parallel switch loops, the supply, and the lamp string) on the bottom floor.

-Jon