we currently assign a dedicated url to each entry (oursite.com/username for example)
Each page can be assigned its own url if you manually add a page in the cms and look at the Meta-data tab you will see that it can be entered, as a default this is derived from the page name but can be programatically set. At the end you won't be adding manually but it will give you an idea of how it could work.
Each needs to edit their own entry,
I haven't done any userdefined forms as I have been able to use the standard facilities to achieve what I need but you can develop your own forms to achieve this and populate the database. look at the tutorial section on user defined forms and I'm sure others have done this so search in the forums.
As for your images again you can upload images and link this to a member or the id of the page in the db to achieve this.
I have only been using for just over a month and found I have been able to do most things I need so far and think the best thing is for you to start to develop your site so that you become more familiar with the framework and software when you will start to see how to solve your problems.
If you get stuck on a specific then post to the forum or go to the irc and ask, people are most friendly and helpful.
Good look with your project.