One idea would be to filter using Owssvr. Here are some articles that may help:
http://vspug.com/dwise/2008/01/10/accessing-sharepoint-list-data-as-xml/
http://geekswithblogs.net/PsudoKnowledgeBase/archive/2010/02/01/using-owssvr.dll-to-filter-sharepoint-data-on-the-server-side.aspx
http://www.bizsupportonline.net/blog/2009/07/pre-filter-large-sharepoint-list-infopath-wss-owssvr-dll/
Of course, one option is to do the filtering in InfoPath itself, but if your source data is large then this will slow down the form considerably. We have previous threads on this, such as this one:
http://www.infopathdev.com/forums/p/9329/33038.aspx
Good luck!