I have modified the particles.json file (beamNG/lua/common) to add a snow ground material that kicks up like mud or sand. But when I update, this goes away. Is there something (like the ter.depth file) that can stay in the levels folder to maintain this data?
If you make your modification in the game directory, those will get wiped at each update. Instead, go to Documents/BeamNG.Drive. Make a 'lua' folder and then a 'common' folder inside it. Put there your modified file. There your modification should stay safe from getting wiped.
Sounds good - but I can't have these modifications as part of the self contained zip file for sharing then?
AFAIK you can do that (just use the same file/folder structure which has already been described above). That will create a zip which over-rides game files so it won't be allowed on the repo.