stukkend:Is there any other way I can pre-filter a secondary datasource that reads a SharePoint list?
If you're using InfoPath 2010 and SharePoint 2010, then you can indeed filter. This feature is available out of the box and you don't need any code.
When you create the data connection, you'll see you have queryfields and datafields.
Set the filter value in the queryfields, then execute the data connection, and you'll get the filtered results back in the data fields.
So it seems to me like there's an option simpler than using code, and perhaps the solution is to investigate and pursue this easier alternative.
Good luck!