To go through the version history of a file you can either take IEdmFile5::CurrentVersion and blindly work your way back to version 1 or you can use IEdmHistory to look at the complete file history including new versions, new revisions, labels, state changes...
You can find an axample of how to use IEdmHistory here:
The most efficient way to get a CAD document and its references is to use the IEdmBatchGet interface. You can find a short description of how to use this interface in the help: http://help.solidworks.com/2015/English/api/epdmapi/EPDM.Interop.epdm~EPDM.Interop.epdm.IEdmBatchGet.html?id=148ffd215b184ad6ad9a3afa72ffd8f3#Pg0
To use this interface to get previous versions of a file you need to specify an earlier version number in your call to IEdmBatchGet::AddSelectionEx: http://help.solidworks.com/2015/English/api/epdmapi/EPDM.Interop.epdm~EPDM.Interop.epdm.IEdmBatchGet~AddSelectionEx.html
For each version of the file you're interested in you will probably want to get the version of references used when the file was checked in. To do this you will need to include the Egcf_AsBuilt flag in your call to IEdmBatchGet::CreateTree: http://help.solidworks.com/2015/English/api/epdmapi/EPDM.Interop.epdm~EPDM.Interop.epdm.IEdmBatchGet~CreateTree.html
I hope this helps. Good luck!
Please clarify to getting each version of physical files using AddSelectionEx method(IEdmBatchGet).
this method is working fine but for all versions of physical files as indicating same file location with same size .