To call the Publish Item Wizard programmatically, call the following code:
Item home = Sitecore.Configuration.Factory.GetDatabase("master").Items["/sitecore/content/home"];
Sitecore.Shell.Framework.Items.Publish(home);
Publishing options in publish dialog persist from the previous dialog invocation. To set values explicitly, call:
Registry.SetBool("/Current_User/Publish/IncrementalPublish", true);
This turns on the Incremental Publishing toggle.