Sounds like a big undertaking, but if you do this one stage at a time it should be ok, first of all I see you have way to many dhcp servers in the mix, all the wireless ap's should be disabled for dhcp and let the server do this for you, then you can manage the scope better. I have heard that you can use dual nics in linux and bond them to get full bandwidth (100Mbs x 2 = 200Mbps). I would statically set ap's keeping an eye on each set. Floor 1 ap1=x.x.x.20, ap2=x.x.x.21, etc. Install bind9 and dhcp3 on server. If you have 2 cable connections coming in to server, you will/may want to add 1 or 2 more nics in server and use these for your lan connections to switch (other 2 for broadband connections).
Get this all working first, then takle squid and dansguardian, both of which i run at home (they work great by the way).
Code:
Cable----nic1-- -----nic3-- |------ap1 (nodhcp)
| | | |------ap2 (nodhcp)
> Server Switch-|------ap3 (nodhcp)
| dhcp | | |----workstation
Cable ----nic2 bind -----nic4--
I hope I am understanding you properly, if you need help with bind9 and dhcp3, I can help you there too, also install Webmin, it is great for configuring this stuff.
If you run you server directly to cable connections, PLEASE install fail2ban and iptables (PROTECT YOURSELF!). Please keep in touch and let me know how goes it.
Repost - diagram didn't work, also attached.