Of course it's possible, but implementation wise there are thousand of different ways.
First you'll have to decide where to locate the xml files, simplest way would be to have one directory with all the files.
Next you'll have to decide how to grab the files. If you want to list all the files in the directory, you'll most likely have a look at boost::filesystem, otherwise you could just load an text file where you'd list all the existing xml files.
For the UI you can use rectangles and/or sprites, to create something nice looking. Keep in mind though, UI programming is quite difficult.