Is there any way to make an AddItemRequest via the Trading API to queue the listing so that it posts at a specified datetime rather than as soon as the request is made?
Yes, take a look at the Item.ScheduleTime node. All you need to do is pass the time you want the listing to go live there.