Let me know if I miss any of your questions here!
An Encounter can have multiple identifiers, as you noted. A hospital system could have multiple "identifier.system"s that have different meanings. This system value would be obtained from each client. When you receive an Encounter, you would parse through the identifiers to find the correct one based on that system. You should NOT be filtering by a text field.
The FIN is tied to the Encounter (vs the Patient).
Keep in mind that an Encounter may have a period.start in the future if that may affect your use-case.
-Aaron (Oracle Cerner)