There are a number of ways to approach this problem.  If your filename domain is truly fixed as R{num}{prio}.xlsx, then note that the filenames constitute valid Excel cell addresses when {prio}.xlsx is stripped away.  The resultant cell addresses from your example are R1 and R2.  You can now use the R column of the current spreadsheet as a sparse vector to store the highest priority observed per cell (aka file).  When all filenames have been examined and their highest priorities stored, it's now a simple matter of traversing the R column to pick up the files selected for processing.
Here's code that handles the aforementioned filename domain....
Sub ProcessFilesBasedOnFnamePriority()
    Dim filenames, fname As Variant
    Dim maxRowNum, nRowNum, i As Long
    Dim strFilePrefix, strCellPrio As String
    maxRowNum = 1
    filenames = listfiles("c:\temp\lots_of_files")
    ' make an assumption that all filenames begin with the same
    ' single-char prefix character.
    strFilePrefix = Left(filenames(1), 1)
    For Each fname In filenames
        Dim dotpos, suffixLen As Integer
        Dim strCellAddr, strFnamePrio
        dotpos = InStr(1, fname, ".")
        suffixLen = Len(Mid(fname, dotpos))
        ' assume priority is specified by a single char in fname
        strFnamePrio = LCase(Mid(fname, dotpos - 1, 1))
        strCellAddr = Left(fname, Len(fname) - (suffixLen + 1)) ' "+1" to account for priority char
        strCellPrio = Range(strCellAddr)
        If (Trim(strCellPrio) = "") Then
            Range(strCellAddr) = strFnamePrio  ' store first prio occurrence
        Else
            ' assume filename prio characters (e.g., [a-z]) sort lexicographically
            If strFnamePrio > strCellPrio Then
                Range(strCellAddr) = strFnamePrio
            End If
        End If
        nRowNum = CLng(Mid(strCellAddr, 2))
        If nRowNum > maxRowNum Then
            maxRowNum = nRowNum
        End If
    Next
    For i = 1 To maxRowNum
        strCellPrio = Trim(Range(strFilePrefix & CStr(i)))
        If strCellPrio <> "" Then
            fname = strFilePrefix & CStr(i) & strCellPrio & ".xlsx"
            Debug.Print fname    ' <-- do analysis on fname
        End If
    Next i
End Sub
The code for listfiles is here.  Note that this solution will not handle stray files that don't follow the assumed naming pattern.  You'll need to add checks to weed them out.