Hi Marc and welcome to our forum!
Your first question is a deep architectural question. :)
Usually, InfoPath works well with one primary table mapping to the Main data source. Secondary tables can be mapped to secondary data sources. Mapping the main data source to multiple database tables causes problems because of the pivots. Sometimes you want to pivot on one table. Sometimes on another. You can certainly put both tables in the Main data source (repeating groups under the main root node), but you will experience challenges because of the relationship between the two tables. If one table is always the "primary key" then you should just map the Main data source to that and have the other one referenced from it. That will simplify your life. You can always create another InfoPath form for the other table.
I hope this helps.
Patrick Halstead [InfoPath MVP]
InfoPathDev
Patrick Halstead
Project Manager at Qdabra