I actually set up a network very similar to yours recently with three small businesses in the same office and sharing the same DSL Internet connection.
All three offices deal with personal and financial information so are concerned with security. The office was on a pretty slim budget so I ended up buying four identical Linksys BEFX41 routers (fairly inexpensive with a decent feature set) and connected one to the DSL modem as the main router, connected the other three routers as clients to the main router and named them based on the individual business units and gave them each static IP addresses so I can route desired incoming traffic to the appropriate business, then connected the individual business computers to their own separate routers. This gives everyone Internet connectivity, allows me to administer everything easily since all routers are identical, gives full access between the computers in the individual businesses, and completely prevents anyone in one business from accessing resources in the other two business units unless I specifically give them permission to do so on the routers.
It's not a "pretty" set up like a nice SonicWall router/firewall would provide, but it was about 1/4 the cost of even a cheap SonicWall. 🙂