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 smile

Internet Rush-Hour!