I was able to check with our AAM support team on your questions. They indicated the following:
1) It depends on customer preference and whether you're are using a .overwrite or a .sync file. In general, if you upload data values that do not have a corresponding trait, we will ignore the values and list them in the Unused Signals report".
2&3) With data files in general, we process the data on a per-upload basis. If the key of "B" was uploaded with the value of "Yes" we would look for any traits that correspond to that data pair and would evaluate them. If none are present, we ignore the value. If a trait is looking for it, then we will realize it. If a subsequent file is uploaded with a value of " " for "B" then our system would again look for traits that match and disregard the data if none exist. This would not have impacted the previous trait realization because the associated user had already realized a trait. If you were to use a .overwrite file, however, then it would make a difference. If you uploaded a .overwrite file in the second instance, any traits that were looking for the "B" = "Yes" value would be disqualified because the value changed and was no longer what the trait was looking for. I recommend they take a look at our documentation at https://marketing.adobe.com/resources/help/en_US/aam/c_inbound_crm_data_ingestion.html and go from there.