I'm a little conflicted about this suggestion. I haven't used path expressions much, but I did experiment with using them to work on both Linux and Windows, where the difference was more than just the meaning of "~". By "work", I mean that the same outline could be moved between Linux and Windows and the external files could be found. That's helpful for me because I use so many Linux VMs, and I can't make many of the external files work between Linux and Windows. One obstacle to my using them more is that they are not very readable.
There's no need to use {{sep}}-style steps because Leo wants to see forward slashes in headlines and converts them as needed when running on Windows.
With regard to #2, I'd like to know an easy workaround for @file c:\Tom\devel\leo\some-file.py on Windows but, say, @file ~/Leo/outlines/some-file.py. I don't want to hear how I should be using some other directory structure on Windows. My drive organization has some 30 years of history behind it, going back to Windows 95, and I don't plan to change it all now. If I had the experience then that I have now I would probably have done it differently. Not that I have many external files with adaptable file paths, but at least it can be done.
One time this became a practical matter was a period of about 10 days when I had to do without my Windows laptop. It seemed to be having memory problems. I went to my backup machine - it ran Linux - moved my Thunderbird email files over and some key Leo outlines. The email worked great, but I had to be careful about handling external files I cared about and wanted to work on. Of course I had backed up the laptop.