This article overlaps part of your question:
Implementing a Read-Only 'File Open' or 'File Save' Common Dialog[
^]
Scroll down to the article's screenshot of a file open dialog. See the list view control?
http://www.codeproject.com/KB/dialog/DavidKotchanFileDialog/FileOpen_Layout.gif[
^]
Obtain the window handle to the list view. The linked article has code to do that. With that handle, you can subclass the list view control inside the file open dialog. From there, you can manipulate the list control to have the file preselected for the user.
The MFC C++ wrapper for the SysListView32 control includes searching items, selecting an item, and determining whether an item is visible.