"Is it possible to programmatically create a pass-through query,"
If you create one passthrough query and save it, you can then modify the sql of that saved query to anything you like (that is valid for your database).
currentdb.querydefs("mypassthroughquery").sql = strSQL
You can then execute the passthrough query.
If you want to build an Append query then use the passthrough query as the source for your Access append query.