my primary use is file sharing and email.
Currently i have my laptop with me when i am away from the office (daily) the mac and windows machine are office based but i would like them to have the email as well and i have my phone that has pop3 facility, however as soon as the email is on the laptop it is puled off the pop3 server, hence the reason for considering a mail server.
First off, have you considered IMAP? If your phone is recent I'd be surprised if it doesn't support it. IMAP effectively superceded POP3 a long time ago, quite why so many people still use POP is beyond me as IMAP is
far superior. Basically it's designed to be accessed from multiple machines, so will automatically synchronise your mailboxes with the server every time you connect. I use this with my phone and several PCs, and it works a treat.
Why VPN? because my belief was that it was the most effective way of bing able to 'dial in' remote access was not something i had considered.
I get the feeling it's not necessary here. No harm in setting it up if you really want it, but I always aim for using a minimalist approach when it comes to externally accessible resources.
My mac is also running XPsp2 via parallels.
Here's what i would like to do
Have the mac and widows desktops talking to each other, have both of the printers working without killing the network each time they are used.
Have the external hard drive on the network and being used as a seperate drive so i can put business things on it as a backup.
Have the laptop be able to access the network and pull of info from the external drive
You should be able to do that lot by setting up SMB (aka Windows for Workgroups) shares. Mac can access SMB natively so no worries there (I have SMB shares automount on my Mac when I log in using the credentials from my keychain). Setting up SMB shares on Windows boxes is theoretically simple, but it's not unusual to encounter problems, sometimes due to the process of electing a master browser when various machines are switched on or off. If you have a machine that is always on (acting as a server, with the disks connected to it) then you can effectively force that to become the master browser with some registry hacking. I haven't done this for ages as I either use Samba servers on Linux boxes, or Windows domains, so I can't remember off hand. The MS knowledge base should provide all the info required.
have all the machines being able to access the same email accounts/calendars and have the same content on them
have the widows powered phone be able to get the same email/calendar as the rest of the machines
When you mention calendars, what type and where are they currently stored? If they're Outlook calendars and you want to bring them "in-house" then you're looking at installing an Exchange server (which requires Win Server AFAIK but don't quote me on this)... not cheap so be sure you really need it before going down this route.
The desktop machines are hardwired to the router, the HP printer runs through the windows machine and the konica through the Mac (when it feels like it)
i may be asking a lot from this i don't know
It should be possible to share the lot, as long as all the machines are on the same workgroup and are talking OK over SMB (no firewall issues etc). Just share each resource from the appropriate machine.
BTW I am not an SA so I don't have the depth of experience of some others on here (aka take it all with a pinch of salt

).