This method involves passing "locale" on a transfer to a URL.
First, create the second-language auto-attendant (for example French) and determine the "schedule_id". You can determine the schedule_id by creating a temporary Dial Plan for the new auto-attendant and checking /etc/sipxpbx/mappingrules.xml... search for action=autoattendant within the newly created dial plan.
From the English auto-attendant, create a dialpad action "Transfer to Extension or Other Destination", and put the URL obtained from the mappingrules.xml, with the appropriate locale: eg. <sip:IVR <at> 192.168.5.1:15060;action=autoattendant;schedule_id=aa_11;locale=fr-ca>
The only problem remaining is that after dialing French option, the message "Please hold while I transfer your call" plays before sending you to the french auto-attendant.
The only way to suppress this is to overwrite the "Please hold while I transfer your call" with a .wav file that is a short blast of silence, or re-record the .wav so it says the same thing in multiple languages.
See http://track.sipfoundry.org/browse/XX-9449 as a tracker for this feature request.