La limitación de 260 caracteres no es una limitación del sistema de archivos, sino de la API de Win32. Win32 define MAX_PATH como 260, que es lo que usa la API para verificar la longitud de la ruta pasada a funciones como FileCreate, FileOpen, etc. (que son utilizadas por .NET en BCL).
Sin embargo, puede eludir las reglas de Win32 y crear rutas de hasta 32K caracteres. Básicamente, necesita utilizar la sintaxis "\\? \ C: \ MyReallyLongPath \ File.txt" que quizás no haya visto antes. La última vez que verifiqué, las clases File y FileInfo en .NET le impidieron usar este tipo de ruta, pero definitivamente puede hacerlo desde C/C++. Aquí hay un enlace para más información.
http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx
Cabe señalar que una API se introdujo con Windows 95 que hace rutas de soporte de más de 'caracteres MAX_PATH': la API de Shell. –