Q1: The row id is a text string generated internally when a row is created. You only need that value if you are using blocks that require a row id such as a get value
or other Data Source block.
Q2: No, you can’t. For that, you’d have to use a Google Apps script or Airtable API command. Why is it critical? Why not just update the row containing the user’s data?
I’m not sure about Q3 and Q4.