Link to excellent video on how to do it here
In my example, I wan to pick Province and filter City list box dynamically.
All you need is to create a list that stores the Province City mapping to point to. Open your other list in where you will have 2 fields called Prov and City. Open that list in InfoPath, change the text boxes to dropdown list boxes.
Add a data connection to Province/City lookup
Change the data source properties of the dropdown list box for Province
Change the data source properties of the dropdown list box for City and filter it by province.
It is that simple