The public directory is meant exactly for that purpose. Maybe your directory can simply be a subdirectory there.
You can also check the AOP Portal. I am not sure but I believe it had a way for clients to update Cases and upload Documents… if so, it would be a much better option for you, because it already includes a lot of development you can use (to manage customer accounts).