I've been thinking about implementing something like this too.
Out of the box, osTicket restricts users to seeing only tickets that they have submitted. Is that adequate?
I'd guess that you'd want someone from the company to see all tickets submitted by the company (if you don't want everyone in the company to have access).
That leads to needing a table of companies linking to the tickets. Probably each company would need a user name/email and logon credentials for one (or more?) person to see all tickets tagged with that company.
Then you need to associate an incoming trouble ticket with the company. Domain name is an obvious choice if it is sufficient. Or maybe you need a list of email addresses and the company each is associated with? Probably another table here with ways to map email addresses to companies.
Then you would need filtering to allow access to all tickets in that company, either to all persons in the company or just to the manager(s).
osTicket doesn't have user accounts. That's another project if you think they are needed.