This feature has been available for some time, I believe. In magit-status, just select with region the files and then `s` to stage the highlighted files.
Adding git-gutter to the mix will allow staging / reverting at the hunk level.
I should probably note also that in Magit status, the user has to TAB the unstaged file to be able to do region or hunk level staging.
Ideally it would be possible to do it in the buffer in question as well.
Not even git-gutter has region style staging. Hopefully it will be implemented soon. I had a crack at it but time got away from me.
This feature has been available for some time, I believe. In magit-status, just select with region the files and then `s` to stage the highlighted files.