QoS will help with internal traffic like Ed said but wont help much with internet-side traffic.
MPLS or point-to-point with QoS/Traffic Shaping is your best bet for internet-based VoIp. VPN will help if you have NAT traversal issues. Anything else is just a gamble.
If your customer's "Several small offices" translates into locations with 1-2 phones then your best bet is going to be some kind of business-grade SDSL or cable-modem service with a VoIP aware/capable router (a la Ed).
I'm also willing to bet that your phone calls have the most packet loss between 7-10am and 8-12pm
Internet Rush-Hour!