You could do some of the things you mention with the Conditional Logic function of Machform. You can access Conditional Logic from the Form Manager, click the "logic" link in the small menu for each form.
You can set up logic rules to
1) show and hide fields (based on particular responses in a form e.g. a yes / no radio button field, if the choice value is "Yes" then show another field (or fields), if the answer is "No" then show some other field (or hide another field on the form.
2) skip pages same idea, you can skip pages in a multi-page form based on answers to field values input by the user.
3) send email per the logic rules you create.
I don't know about populating fields with preset data based on particular choices, that might be one for the "feature request" list.