I know that tag is created to have a snapshot of trunk for any particular time/release.
However my requirement is different.
Can I tag only modified files? Instead of creating tag from trunk, can I just tag modified files with some label? And then using this tag can I just get modified files? No complete codebase...
Somewhat. You can tag specific top level folders rather than all of them. Keep in mind a tag in SVN is a copy.
The idea of tagging random folders at different levels doesn't make sense though. You probably could but it would be awkward because you want the folder structure. And you wouldn't be able to rebuild from that tag because it would rely on other state. I wouldn't recommend this.