If there is never going to be more than one record in profile, the value of it's ID seems irrelevant. If so, you can set up your relationships to use the cartesian join operator and it no longer matters what value is entered in your match fields nor even to which fields, the relationship remains valid.
Alternatively, when the file opens, a script can copy the value of the Profile Record's ID into a global variable. The corresponding ID fields in the other records can then be defined to auto-enter the value of this global variable.
You can use the on open script to navigate to the correct layout. When the mobile app is first opened and the new user puts in their information, record the ID in a field. Then when the app opens later, have it grab the ID and go to the correct layout and find the record you are looking for.
You can use the isempty function to see if the ID field is empty and have it go to the setup screen or the user screen.