Hi Ruediger,
I believe you'll have to use two function modules for your first issue. First use BP_CENTRALPERSON_GET to get person ID for corresponding business partner, and then use BP_CENTRALPERSON_ASSIGN_USER to assign a user ID to your person ID.
It might happen (not sure) that due to HR integration activation this assignment will not be allowed. If that happens, you can consider to deactivate temporarily this integration (table T77S0, GRPID=HRLAX, SEMID=HRAC, just remove X value from GSVAL), run this functions, and activate it again in the end.
Check if that helps you a little more!
Kind regards,
Garcia