if you want to have visual distinction in display names modify displayName parameter in your getInputs function to something like displayName: '${input.fullName}*',
you could not prevent user from removing fields from Inputs to Match On parameter, to make sure user did provide all required fields use this.getNodeParameter('inputs.matchingColumns', 0) and throw error if some are missing
also you can check some examples of resourceMapper from Airtable, Postgres, TheHiveProject and Google Sheets nodes