RE: problem # 1 - I can't recall the exact contents of the default rc.firewall script, but I do recall it being well commented. If it allows/provides for RULES to be added or changed (which I'm fairly sure it does) then you would need to create rule(s) to allow incoming and outgoing packets on the ports and protocols necessary for the DHCP server to communicate and respond on.
I use LutelWall firewall in my Slackware, which provides VERY easy configuration of incoming and outgoing rules for every protocol there is, and what ports are used for what. But most firewalls allow for similar configuration.
As a last resort on this subject, you may want/need to implement the iptables rules yourself, but the firewall should allow for it in a much simpler way.
Problem # 2 - Seems you need a redirection in Apache, such that when it receives requests at
123.456.789.321 it would redirect them to the IP & port they should actually be going to. Like an alias. But, this is better suited to someone else for really accurate info
So hopefully atleast the firewall info helps a bit!
Best of luck..