Sure. As a client, you can modify your game's files easily, since Dota 2 itself supports the --override_vpk launch option. This means that if you want to replace the file pak01_dir/scripts/npcs/npc_abilities.txt for listen-server play, you place your own npc_abilities.txt in dota 2 beta/dota/scripts/npcs. With --override_vpk, your file will be chosen instead of the real npc_abilities.txt.
Our SRCDS does not support --override_vpk. GCFScape etc. does not yet support convenient editing of VPKs, so we had to do that using the
VPK.EXE utility. This program seems strange when it comes to paths. I found mine in Alien Swarm/bin. I'm not really sure, but it seems if you try to give it a full directory path, it'll add that PATH to the VPK. That may or may not make sense, but hopefully this example is enough:
D:\Program Files\Steam\steamapps\common\dota 2 beta\dota\> "D:\Program Files\Steam\steamapps\common\alien swarm\bin\vpk.exe" -M -v a pak01 scripts\npc\npc_abilities.txt
So, as I understand it, you need to place the files in the directory structure inside Dota 2 which mirrors the internals of your desired location in pak01_dir... AS IF you were using --override_vpk. If not, you'll get stuff like this:
http://dl.dropbox.com/u/234933/0745PCZ.png
Which contain this:
http://dl.dropbox.com/u/234933/0746PCZ.png
Instead of your desired VPK being edited. If -v doesn't echo "...has been updated", you did it wrong.