Du solltest auf jeden Fall, die Units, die nicht auf eine bestimmte Anwendung bezogen sind in einem eigenen Verzeichnis (z.B. C:\Delphi\Lib) halten.
Diese
Unit dürfen natürlich keine projektbezogenen Units einbinden!
Mit der Zeit baust du dir so deine eigene Library auf.
Alle projektbezogenen Units zu einem Projekt sollten in einem eigenen Verzeichnis (z.B. C:\Delphi\Firma\ProjektA) liegen.
Ich denke nicht, dass es Sinn macht, diese Units noch weiter in Unterverzeichnissen zu verstreuen, ausser vielleicht bei ganz grossen Projekten.
Ich speichere den ganzen Sourcecode nur auf Platte C:, weil bei Benützung einer Versionverwaltung (z.B. JediVCS) es Probleme gibt, wenn ein Rechner keine Platte D: hat.