Hi Slaven,
I think the strategy would use to solve this problem is first create an ISettingControl for this property. Just make a UserControl, and implement ISettingControl which is a very simple interface with 2 methods SetValue and GetValue. For an example of ISettingControl see /Controls/GMapTypeSetting.ascx
You could even add this control to a profile like this:
<add name="MapType"
type=""
iSettingControlSrc="~/Controls/GMapTypeSetting.ascx"
labelResourceKey="Map Type"
requiredForRegistration="true"
/>
Then what I would try is adding custom validator control(s) inside the UserControl, set the ValidationGroup to "profile" so it connects with the rest of the validation group.
Then implement a custom validator control, ideally with both client side validation using the javascript you found and server side validation. Implemeting this custom validator is probably the mosty challenging part, but if you can do that this solution should meet your requirements fully.
I would not try using the user registered event handler as that fires after registration is successful.
Hope this helps and Thanks for the beer!
Joe