CASC is proprietary 'closed' file format. Many WoW modders right now working on CASC to make it available for users. I don't know much about CASC myself, the facts that I know are:
people can mod Legion by changing existing files and put custom files instead
there is CASCHost which gives you an opportunity to create an own WoW Legion server with CASC support
afaik CASCHost makes own builds of files, so you can create custom CASC patches and mod Legion
for BfA Blizzard chaged their client, so it's obfuscated
in BfA textures and all the files have an IDs, so there is no more file-paths inside. Many of the IDs are decrypted, but that's not enough.
I'm just 3D modeler and designer myself, I don't know much about actual client structure and file formats, so you may find your answers in our Discord.