2. If you're on Shopify Plus, you should be able to do this using the same ajax API (not 100% but I would say add the product to the cart then have it refresh the page). If not on Plus, I don't think you'd be able to edit the checkout to do this.
If you want to add the product after the order is placed, you can use Order Automator app to do that.
If you don't have a developer handy for option 1 / 2 and want a recommendation, feel free to PM me.