In my opinion, wizards are only good for on boarding process, account creation or making changes to settings. They are not so suitable for scenarios where the form has to be access frequently such as task related features (product creation, appointment scheduling). Thereore I favor the 3rd option you have presented.
Based on what was described, it sounds like your user has to use the form to perform some heavy task (object creation)related activities. The form also has to have CRUD functionality.
In my opinion what you need is a way of organising your input fields in a concise and sequential manner that brings clarity. I would say form efficiency is an important factor (CRUD) to consider too. As I have mentioned, wizard are ideal for one time process, it is less efficient if the form has to be revisited multiple times. It might even slow down sophisticated user who wants to navigate to fields of interest quickly using tab.
If breaking the form into modular steps is necessary, you could explore using accordion to section content and show them in sequential steps. You might have to disable the submission button to prevent user from submitting an empty form. You could include other interaction design for empty form submission which I won't discuss here.
When editing the form, the accordion are expanded to show all the inputs and its entries. This make searching the fields of interest to edit much easier and reduces the effort of implementing form validation too.
download bmml source – Wireframes created with Balsamiq Mockups
This approach allows the user to see the form in entirety instead of wasting the user's time stepping through the wizard and to discover fields that they are not comfortable filling (or no answer at that point).
I could offer a separete edit dialog that is not a Wizard. Basically
two dialogs that handle the same data, one for adding and one for
editing. That means more effort and it might be inpterpreted as
I believe this also address your concern of creating a separate dialog for editing. You said it, maintaining 2 separate forms that perform the same function is a red flag in terms of technical implementation and maintenance. Be kind to your developers :)
I don't really want to give up the Wizard concept since it's
comfortable for data input.
One of the worst thing that could happen is when designers grown too attached to their design and fail to explore other options. This is a much bigger hurdle to overcome than the design challenges itself.