Well, and I mean this in the kindest way possible, your filters were a mess.
Here's what helped me figure filters out - your brain work differently from mine, so it may not be as helpful to you. The secondary data source has many rows - one to n. You are trying to set the value of a field to a value in one of those rows. InfoPath has no way to know which one. The filter you add when you select the data source field is how you tell InfoPath "I want this row".
In your case, you want the rate from the row in Info1 where the Name1 field is the same as the ContractorName in your main data source. That's because your main data source ContractorName is getting its possible values from one of the Name1 instances in Info1.
Hope that helps.
Now, to format the controls on the form, as long as they are the correct data type (Date, Double) you can right click the control and select the properties. On the first tab (Data) there is a format button....