basecamp client users cannot assign to-do items outside their own organization

Basecamp makes it very easy to add "companies" (other organizations) to a project, in additoini to your own company or organization.  And you can add as many users to each company for that project. And once you do that, you can then decide what level of access each of these additional company users should have. You can allow them to see and post messages, to-do's, and/or milestone events.  

Practical project management

Laura Quinn at Idealware.org published an excellent survey of tools for project management, “Six Views of Project Management Software.”