1. Password-protected section for that client (one login form: "Client Area") that would allow access for multiple clients to specific sections based on the login. Although I realize you can give them access through the main CMS by allowing/denying access to various pages, I don't think I wouldn't want them going through the CMS.
A single instance of a log in form can be created by using $LoginForm in the template system, I believe. This means you could place it on the home page, for example, in it's own box.
2. The ability for the clients view galleries in specific pages/sections
Security is set in the CMS on a per-page basis, so you could put one set of client accounts into a group, and only allow that group to view the page, for example.
There's a SS [url=http://www.silverstripe.com/modules/]gallery module[/url] (or you could build your own using a plugin like [url=http://benjaminsterling.com/jquery-jqgalscroll-photo-gallery/]jqGalScroll[/url], perhaps).
3. The ability for clients to upload reasonably sized files and assets
This will require a bit of custom development, but what you're asking for is not amazingly difficult. There's a lot of smart people on this forum who would be willing to help! :-)
4. The ability for clients to leave comments (on gallery posts) and send questions via a web form.
SS CMS has a page comments system that you can turn on by clicking "Allow comments" on the Behaviour tab on a per-page basis.