Is a wizard appropriate when the previous steps may need to be changed/modified?

I'm trying to design a single-page, or wizard-type of UI to fit the following criteria and am running into some issues with clarity.

The app:

  1. Takes a user's zip code
  2. Takes 2 pieces of information about an item
  3. Shows dynamic data related to that item and allows the user to make a selection from the dynamic data
  4. Displays a summary of the choice made

However, at step (3) and (4) the business would also like to give the user to ability to go back and add additional items - which is step (2). This muddies up step (3) because then dynamic data needs to be listed for more than one item. I'm also wondering if it's such a good idea to make the user jump back a step in the process.

The other alternative is adding steps to the wizard in-line when the user wants to add additional items, but I'm a bit cautious about doing this because then I can't really predict how many "steps" the user will take and show him/her where he/she is in the process with a progress-bar. (or can I? I don't know how I would.)

I feel like I'm missing a UI pattern here that might better apply to this scenario. Any thoughts are appreciated.

Extra thoughts: I've toyed with the idea of scrapping a traditional wizard and designing the flow on one screen:

  1. Text area with zip code
  2. Text area for entering item information and button to "Add to Summary"
  3. Adding to summary clears the text area to allow for additional items to be added
  4. Dynamically display text area beneath it being careful to differentiate between items and allow for removal of the item's dynamic info
  5. When user makes a selection from dynamic info, display summary area beneath.