A model is a kind of database representation of a domain object, it is a representation of the application model, e.g. a motorcycle... but the view that renders that motorcycle might want to display more info about the motorcycle than that which is represented by the domain object... and so in comes the View Model 'pattern' (of which there are several), which basically 'contains' the domain model...
View Model patterns usually offer flexibility, offering a kind of inheritance / obfuscation of dependency if you will.
The physical model file can indeed be placed anywhere, it is merely a class, that to be used needs to be referenced.
e.g. Domain Model
public class Motorcycle
{
public string Make { get; set; }
public string Model { get; set; }
public int Year { get; set; }
public string VIN { get; set; }
}
View Model
public class MotorcycleViewModel
{
public Motorcycle Motorcycle { get; set; }
public SelectList MakeList { get; set; }
public SelectList ModelList { get; set; }
}