Michael,
I don't have a definitive answer to your question, but I suppose that this won't work.
Let's see if I have understood your setup:
You have a webinar program in Marketo. This program contains of emails (at least 3, I guess), landing page(s) and smart campaigns. And in order to send an invitation for that webinar from your Engagement Program you have a smart campaign in your webinar program that you have dragged&dropped into your Engagement program. This smart campaign looks something like this:
This is how you would send one invitation, isn't it?
Now what you can do to achieve your 2) is to add a condition to the flow step that says exclude all registrants for the webinar. Like this:
So far so good. But 1) is difficult, I think. You can't add two emails from the same program to a stream and you can't add two smart campaigns from the same program to a stream. So what you would have to do is to add a smart campaign to the Engagement Program that contains the sending of two (or three) emails like:
Flow1: Send Email 1
Flow 2: Wait until day webinar date minus 1
Flow 3: Send Email 2
But with a flow like that you'd defeat the purpose of the engagement program with its set cadence. So the things I don't know are: Can you actually enter wait steps into smart campaigns inside of Engagment Programs and how do they interfere with the cadence of the stream?
What you could be doing is have invitation 1 and invitation 2 for your webinar in different programs. But nobody would want to do that, I guess.
I myself have added live webinar invitations to Engagement programs in the described way (Cheers to the "Edit Availability" option in streams) , but I haven't found a way of adding an invitation #2.
Hope this is - maybe only a little bit - helpful.
Best,
Michael