But now they are one big clustered nonsense of spiderwebs.
The answer to this is to have a clean object oriented design. Mainly things like high cohesion (making sure that all the methods that operate on a single object, are contained within that object) and low coupling (making sure that object only interact when absolutely necessary).This way using a tool like the UML Design Class Diagram, you can easily and quickly map out what your code does, and why making it a breeze to navigate (having a decent IDE doesn't hurt either).
I also keep experiencing other small problems, like constants not applying over an imported source file,
Make them a part of the object they're referencing. Now, tell me, what am I doing wrong?
Numerous things. For starters you're using a technology designed for an object oriented process, in a seemingly strictly procedural fashion. This of course is not going to end well.A good book, if you care to read it, is Craig Larman's Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development.