I'm not sure I understand the question completely. Are you trying to use a single .cshtml file for all the steps? If so, you can define multiple controller renderings for the same View in the Sitecore CMS. In the renderings section, define each step of your multi-step form as separate controller renderings. You can use the same controller for each, but specify a different action.
In your controller logic, you can specify to return the same View, but pass different properties into your Model object.
For example, you might do something like this:
public ActionResult Step2(){
var context = RenderingContext.Current.PageContext.Item;
var otherParams = "SomethingForStep2";
var model = new MyModelObject(context, otherParams);
var view = this.View("Path/To/My/View", model);
return view;
}
In the example above, I assume you have defined some sort of Model object where you can pass in whatever parameters you need so that your view can use this to render.
If you are using different views, then you will just return a different view for each action, again passing in a model to the View to help it render.