Hi Toshko,
regarding Q1: tags have UIDs that are used during collision resolution process. When different tags are in the reader operating volume, the reader is able to discover the various tags and the application is able to select a given tag based on the tag UID and then to communicate with this tag. A Card Emulation also has a UID. In our implementation, this is a 4 bytes non-unique UID for NFCA protocol (see ceNFCA_NFCID[] = {0x5F, 'S', 'T', 'M'};). So by default, all instances of the ST25R3916 Card Emulation demo use this UID and are therefore indistinguishable by the reader. If you want that the reader is able to distinguish between different instances, you can use different UID: for example {0x5F, 'T', 'o', '1'} for the first instance and {0x5F, 'T', 'o', '2'} for the second instance. Note that if the NDEF content is identical in each Card Emulation, your application will not distinguish the various Card Emulations. If you want to have a different content in each Card Emulation, you can for example add a Device Information record inside the NDEF and put the STM32 unique identifier inside the Device Information record..
Regarding Q2: STM32F429 has a unique 96 bits device ID (stored in 3 registers located at UID_BASE address). This can be retrieved through HAL_GetUIDw0(), HAL_GetUIDw1() and HAL_GetUIDw2() API. This unique identifier can be used in a Device Information record appended to your existing Wifi/Bluetooth paring records.
Rgds
BT