Not every document would need to be shared with every client. I have a document on "How to change your Windows password".
As the technician I will go to my company / documents because I have access to the system.
I am the MSP for @Bigbug. I share this document to his client portal because his computers runs windows.
I am the MSP for @hugo. I don't need to share this with him because his computers runs Linux.
However, I am co-managing as the backup MSP with @johnny. Because he didn't have anything prior, he is using our AWESOME system to track his stuff. I have a technician login restricted to his client and I have that same document shared with his client. Because it is a read-only share he wouldn't be able to edit, BUT, because he is a technician he would be able to author documents in his client. And, any document I share with him, he shouldn't be editing anyway.
How about share with a client (would cover Johnny's technician restricted login) and a checkbox for visible in client portal (would cover Bigbug and Hugo)? Edit - A visibility checkbox might not be needed because if a document is shared, it should be visible. Otherwise you are down the rabbit hole of who needs to see it, and I don't want to get into that. If I need to share a document that only @Alan needs access to, that would be the emailed link.
Now, your MSP Client / Documents folder becomes your knowledge base and all shared documents are a read-only symlink back to it. Edit one, all are instantly updated so you don't have to worry. This is why I suggested the %CompanyName% variable to make them feel special. I prepared this (shared) document specifically for them.
No longer need access? Remove the share with client, or uncheck the visible in portal.
Thoughts?