steps 1) and 2) can be done in templates I guees, the creation of an object behind the scene is best done in a php extension I think, unless it is not so much behind the scene( step 3 is basically then an edit page of an object which gets default fill-in parameters from step 1 and 2).
Maybe you could still get around the "edit" object by hiding all input variables and present a button "Do you want to save the result set"? You may ultimately combine step 2 and 3 with some DHTML ...
I think I got it, but assuming that we only use EZP tpl programming, how can we customize (add step 2 result info) the message of the notification that should be triggered at step #3
With some clever .tpl programming, you can add the people who should receive a notification. In the personist datatype this operates outsite the usual notification system: ie, it sends out the emails upon publishing. We may change this in the future however to use the standard notification for users defined in ez publish (the personlist datatype also allows for emailing people NOT registered in an ezp site)