1) Can you share the internals of "FindMatches"?
The source code is installed on your machine, if you are a licensed customer.
You can find FindMatches implementation in:
<LLBLGenPro installation folder>/runtimeLibraries/sourceCode/Net2.x/ORMSupportClasses/CollectionCore.cs
Is it any more efficient than a simple array iterator?
It iterates the collection.
2) Since FindMatches returns a List<int> the code is not as readable as having the function return something like EntityCollection <EntityType>. Are there any alternatives to FindMatches that might return a strongly typed list like EntityCollection<T>? I could not find any browsing the API.
Use an EntityView for filtering (which internally uses FindMatches)
Please check the LLBLGen Pro v.2.x docs "Using the generated code -> Adapter/SelfServicing -> Using the EntityView2 class"