There's one more piece that I'd like to bring out- looked like it got buried. The purpose of the primary and secondary DNS servers is redundancy- If the DNS service should stop on one, your client machines should be able to continue working without any noticeable difference, assuming the DNS servers are identical, etc. This is precisely why Active Directory integrates DNS and AD replication into the domain controllers (Among other reasons of course). Here's what I have done in similar situations:
Assuming you have the ability and authority to make changes to the DHCP and DNS configs on both servers and PIX, do this:
On the Pix, set the DHCP-assigned DNS server entries to two identical DNS servers. If it were me, I'd have them be Windows servers. This may not be possible in your situation- I forget the deal with SBS, and I'm not sure what your replication options really are.
On the DNS servers, set up authoritative zones to resolve the internal IP addresses (Take any MS defaults you can, plus follow best practices as well)
Have the DNS servers forward queries to the DNS server(s) used to resolve the external addresses.
This will keep internal queries internal and optimize performance. It will push external queries out without having to wait for DNS1 to send to DNS2 to resolve the external queries. On the customer end, this will give you redundancy (i.e. one server goes down, they can continue working while they wait for you to arrive) and the latency during DNS requests will drop- higher productivity. Make it a win-win for the customer, whether you are internal or external to the company.