Does this work?  Or am I misunderstanding the question?
``` erlang 
    FileNames0 = [Filename || {Filename, _Reasons} <- MergableFiles],
    ExpiredFiles = [Filename || {Filename, [{data_expired,_,_}]} <- MergableFiles],
    FileNames = FileNames0 -- ExpiredFiles, 
```