Once the dynamic allocation has been done I'm not aware of any further overhead, but you should try it out. Code you example also as a fixed-definition file, and run that with a lot of records and your dynamic allocation with the same file. Compare the statistics.
Comparing the performance of a sequential file to a DB2 access cannot be generalised. If your SELECT is retrieving the data represented by the 5,491,359th record on a sequential file, DB2 is likely to be faster. If your SELECT is retrieving all the records in original order, the file access is (more than) likely to be faster.