I created a list of the seven continents spread down 10000 rows and then created a list of three of them to be removed. My tests showed the shorter code below (containing about half as many activce lines of code as your routine) executes quicker that the dictionary method you posted. I would note, though, that we are talking about the difference between super-quick and even more super-quick... the user would never be able to tell the difference in speeds of our codes by simple observation. I would also note that I used the same Defined Names ranges as you did for identifying the beginning of the lists.
Code:
Sub ExcludeFromList()
  Dim X As Long, Index As Long, sRemove As String, vOut As Variant, vList As Variant
  Index = 1
  vList = Range("rngRange").CurrentRegion
  ReDim vOut(1 To UBound(vList), 1 To 1)
  sRemove = Chr(1) & Mid(Join(Application.Transpose(Range("MapDelete"). _
            CurrentRegion.Value), Chr(1)), Len(Range("MapDelete")) + 1) & Chr(1)
  For X = 2 To UBound(vList)
    If InStr(sRemove, Chr(1) & vList(X, 1) & Chr(1)) = 0 Then
      Index = Index + 1
      vOut(Index, 1) = vList(X, 1)
    End If
  Next
  Range("rngRange").CurrentRegion = vOut
End Sub
Note: I assumed the same Defined Names ranges as you did.