I set the settings to 6 PC's, set their X/Y coordinates.. only to find out that the sprites actually sort of loop through the entire screen.
What do you mean "loop through the entire screen"?
I ASSUME it's a hardware limitation to have coordinates on the screen like that. I'm guessing each game has a specific way to handle updating sprites and moving them around and such?
In fact, usually the sprite engine creates the sprites and update their information in OAM depending if they are shown on screen or not. So you don't put any sprite "off-screen", you just update its OAM data when it comes on screen.
I'm programming a sprite engine based on Treasure Hunter G, which allows to create 32 sprite characters on screen (made of several sub-sprites). At the beginning of each frame, each created sprite is analyzed to check if it appears on screen, and if so, updates OAM data with on-screen coordinates.