Our product team is definitely discussing new features to make collaboration of different types easier on GitHub. However, nothing on this front has shipped as of yet. Any new features will be announced in the GitHub Changelog, so I’d recommend keeping an eye on that page for updates.
As for collaborating on projects where you want someone to be able to work on a portion of the codebase but not the entire codebase, it might be worth breaking your codebase into smaller, reusable pieces. Then you could add someone as a collaborator on a repository that only has access to the smaller piece of the whole and you can use continuous integration to make sure that changing code in one piece doesn’t break the overall codebase.
Hope that helps!