I am in favour of the "codename-approach" but with added emphasis on including functionality and wittyness. Both for making it easy to remember what the project is about.
And then create additional hierarchical structures that sort by logic relations like "customer", "year", and such. You may want to introduce either some standard procedures for project creation or (considering that you are in the automation business) some automation.
(It might be that there are already systems existing out there to do so, I remember some presentation related to some envisioned filesystem in Longhorn that I attended years ago.)