Publish state is a feature of the content repository so you would only need to add a user interface to manage the publish state.
But, please, let's not add this to our standard file-storage package. The package is already bloated beyond belief, and to continue bloating it for specialized stuff like "publication state" of a *file* in a *folder* is just too, too, much.
Nima - on HEAD (which will be 5.5/.LRN 2.5) there is the ability to EXTEND a package, which exists precisely to allow people to make their own custom extensions to base packages life file-storage without either 1) forking or 2) adding more and more custom changes to what are supposed to be generic, useful, maintainable packages.
This is probably the best way for you to think about doing what you want to do, unless you'd prefer to fork.