You can use rules to fill in the values of the other fields when the drop-down list changes. But the values used to fill in the fields would be filtered based on the selection of the drop-down list.
For example: Let's say your data source looked like this:
<People>
<Person name="Mary" id="12345"/>
<Person name="John" id="67890"/>
</People>
Your drop-down list is populated with Person/@name.
Now, if you select "Mary" in the drop-down list, the rule would fill in the ID field with Person[@name="Mary"]/@id -- meaning, it would filter for a Person with a @name that matches field one ("Mary") and then use the @id of that Person to populate field two.
Does that make sense?
Greg Collins [InfoPath MVP]