I want to set default values depending on current user and where the page is created. I have tried using events like DataFactory.Instance.CreatingPage and DataFactory.Instance.CreatedPage but I want to set the values before UI is loaded so the real values will be visible to the editor.
DataFactory.Instance.LoadedDefaultPageData should cover your needs. The new page can be accessed using e.Page["PropertyName"]
And if David's approach wouldn't suit your needs, perhaps you can try something inspired by what Deane does here: http://world.episerver.com/Blogs/Deane-Barker/Dates/2010/9/Automatically-Naming-Pages/
DataFactory.Instance.LoadedDefaultPageData was exactly what I needed. Many thanks.