Q1, i am unsure how to configure a samba client on a linux distro that use a windows domain to connect to it.
I by no means am suggesting you use Ubuntu -- but as an example, googling for 'ubuntu windows samba authentication' includes a link here with a wonderful step by step guide for enabling Windows user/password authentication. Why not use the existing server/domain controller for file sharing?
Q2, yes there is an existing domain and yes for internal development.
If price is a concern -- you know Tomcat will run just fine on a Windows XP system right, and work great for a group of developers. If you don't need more than 4GB of ram, Windows XP 32 will work great, and likely you have a spare machine kicking around you could use for this.
I prefer, in all cases, for Firewalls to be distinctly seperate systems -- not even virtualized. You can install one of the numerous Linux/BSD systems designed for firewalls on any clunker you have in the office. I would use your WRT54G as a firewall before I used my fileserver.
Will a linux distribution be able to handle all of these needs?
Yes -- BUT DONT DO IT. As I stated above -- keep your firewall logically separate from any data. I would even caution against sharing a development server and file server. Use VMWare/Xen to segment the file/development server if at all possible.