I think most people would expect
/home/geokon/program1/src/
and
/src/program1/home/geokon
to have pretty much the same content
A tag based file system that made the two equivalent would eliminate all sorta of annoyances where you can't decide how to structure your file hierarchy (should you have bin/program1 bin/program2 src/program1 src/program2 or program1/src program1/bin program2/src program2/bin? both layouts have their advantages).
Something like a "path/path/bin/path/path/bin" wouldn't work.. but it's hard to find a case where you really need it. Currently I do from time to time come across 'include' folders inside of 'include' folders, but not for any good logical reason.. more b/c an in-source build vomited something up
You could also have tag based permissions so sharing files between users becomes a lot more sane (file1 has tag 'bob' and tag 'bill' so that they both can access it, instead of having it in .. /home/bob/ and then sim-linked to /home/bill/ or whatever other workaround you'd do in POSIX)
Yeah, the filesystem wouldn't work so great if you have thousands of tiny files... but I'd probably argue that you shouldn't have thousands of tiny files in the first place. If your program needs tens of thousands of tiny files then it should probably use something other than the filesystem