Hi Simon,
Good question. No way that I know of to remove this.
Of course, my recommendation is just to filter the data so that you aren't getting a boatload of it... filtering on the server is a best practice. SharePoint's owssvr supports out-of-box static filtering for SharePoint data. If you need to parametrize the query (for example, to tie it to a field in your form), check out Qdabra's qRules 2.0 which let's you dynamically query SharePoint (and do lots of other things that would otherwise require code).
Now, if you are trying to pull data into SQL, you'll want to use a Web Service to filter it. Qdabra has a super cheap Web Service called qWSSP that supports filtered querying of your server's data and comes with a cool Query Builder tool that makes integration with your existing InfoPath form a cinch. Free trial is also available. I'd recommend looking at that if you are in SQL. Of course, you can write code in your form but that's not a good idea because you then will have to maintain it and if you have more than one form (if you don't you will some day soon) you will have the same code in every form. Plus, you'll still need some server logic (SQL Stored Procedures) to accept and process the parameters you pass for filtering. Anyway, Web Services are it! InfoPath was developed to be a client for Web Services. So, that's the story. Hope it wasn't a sorry story.
Happy Holidays,