Are you using InfoPath 2003 or 2007? I'm guessing 2003, since 2007 has an option of not displaying duplicates....
You can use XPath (with preceding-sibling) to filter. You can also modify the SQL statement in your SQL data connection that you are using to return the list, or you can create a view in SQL that just has the distinct values you want for your list.