Internet connection is not the real problem here as providing 400 client connections in a network to a single ISP connection is fairly straight forward. You will need a fairly fast ISP connection if the client users are to have a reasonable Internet speed.
What will be a potential issue is if every client computer is to be able to use Microsoft networking to every other client. If the clients can be logically grouped with different groups not interworking directly, and each group is limited to perhaps only 50 clients, then normal domestic style routers and switches could be used.
A different approach would be to implement a client server architecture where all the main processing is performed on a small number (perhaps 8) multi-user servers, and with low cost low performance PCs providing the user front end screens, keyboards and mice. This approach means that the client machines never need to communicate with each other as all communication between users is performed within the small number of central servers.
A client server architecture has the advantage that it is relatively easy to update a small number of servers so they all have compatible software rather than updating 400 client machines. Backups can be handled centrally so everybody's data is secured. Implementing a help desk working with the small number of servers is much more efficient than have helpers running round the building. If a user's computer fails, simply drop in a different computer and when the user logs in they have all their work immediately available.
You could go for a single network with a full capability PC for each user. The network would require a mask of 255.255.254.0 to give a total of 510 usable addresses. You would need a commercial style DHCP server, probably implemented in a PC based server rather than within a router. Addresses can be derived from any of the private address ranges such as:
192.168.0.0 to 192.168.1.255
or 172.16.0.0 to 172.16.1.255
or 10.0.0.0 to 10.0.1.255
or any of the other address ranges in each of the private address ranges.
I hope this helps.