Well samba 3 works as well or better then w2k when it comes to reliable and high performance file server for Windows clients.
For load balancer, you mean like a network balancer? Like a router? If you want a router thingi then I usually say that you want a seperate box for security reasons. With no services running on it it can do a better job protecting your network... less things to go wrong.
But if you want something to fuffill that role then maybe something like clarkconnect.
for features look here
They have a free version and a commercial version. The commercial version has more features, and possibly support. Never used it myself but it seems like it would be something you can easy and quickly deploy. Has a nice web-based interface for configuring and wantnot. Built in intrusion detection system, anti-spam software, and anti-virus software to go along with it's e-mail servers.
Seems easy enough to use. Probably try out the free version at home for a bit to mess around with before laying any money down or making a final decision.
It's based on Redhat/Fedora and seems like a nice solution for a SOHO.
(of course this is all depending on your skill set. If you know what your doing with Linux a custom Debian or other setup would be ideal)
Also for printers you can use SAMBA to do it, but if all your Windows clients are NT-based (w2k and WinXP) then I'd look at
something like using IPP protocol with CUPS
That is of course you need a server to serve printing. If they are network based printers then I guess that would be easiest. Also if you decide to use clarkconnect or a similar product (their are several to choose from) then use whatever they use by default.
For the database stuff, I donno. Any Linux distro makes a good server, you just have to install and setup the stuff for it, which would be easy enough using the software that comes along with the installation CD. But I have no specific thing to say about it.
If you use stuff like MS Access and is familar with that, there are ways to incorporate that as a front end to a real multi-user database like My SQL, MS SQL, or Postgresql. Probably even the big boys like Oracle (but for that you'd have to use certified OS like Redhat's commercial server line, and that's pricy for a small business)....