With ActiveSync (i.e. Exchange type account) Here's how to work around this problem;
Go to Settings > Mail, Contacts, Calendars > [Your Google Sync Account] > Account Info
and change the Address field to the email alias you normally send from (this will be use as the default when ever you want to answer emails)
Create other email accounts by following these instructions with one exception. On step 7 enter the email alias instead of your GMail address for both the address field. You may want to use good description for this "bogus" account.
Once you have done the final save, tap on the account you've just created and erase the Incoming Mail Server Host (imap.gmail.com). It's important to leave this field blank since it will prevent you from receiving duplicate email. It will however still allow you to send outgoing from the email account you've just created
To select the source email address when you reply simply tap on the from field and a rolodex will let you select your from address.
They are two caveats to this however
The iPhone mail application will not select the from address automatically. It will always default to the email address you've set at step 1 even if you are replying to an email sent to one of the aliases.
Since this involve creating a "bogus" account in the iPhone mail application every time you'll hit the refresh button you'll get an error message stating that the iPhone cannot retrieve email from the dummy account. The error repeats itself for every "bogus" account.
Some other people may like to know that for any IMAP account in the iPhone Mail application you can always go into Settings > Mail, Contacts, Calendars > [Your IMAP Account] and change the Address field to a comma separated list of email address that are associated with that account. Since the field will not let you put in a comma directly you'll need to use paste the list in the field. The list itself should look something like this:
myFirstAlias@company.com, mySecondAlias@company.com, myThirdAlias@anotherdomain.com