Hi,
the first point can be implemented using
custom security handler.
The record in Kentico database will be created (for new user), but the user will be authenticated using credentials from your external database each time he tries to log in.
As for second point - you could set appropriate information (fields) as described in custom security handler example. You could add fields to CMS_User or CMS_UserSettings (Site Manager - Development - System tables) and set it when a user logs in. Synchronization with your external database you could manage in a custom web part.
Alternatively you could create a
custom web part where the user could modify his profile - this web part could be connected with the external database.
Best regards,
Ivana Tomanickova