Implementing an image hosting website using WordPress? [closed]

I would suggest you have a second look into BuddyPress and you’ll find that your requirements are matched. The awesomeness of BuddyPress means you can have plugins that extend BudyPress.

For your requirement:

I would like users to be able to post
photos, arrange them in
galleries/albums, comment/tag them,
complete other custom fields relating
to the photos – and, CRUCIALLY, be
able to mark them as public, private
or friend.

You can use the BuddyPress Media with the BuddyPress Privacy Component plugins.

More advanced membership handling
(including membership levels and
payment options) would be desirable. I
know there are several membership
plugins that I could hopefully bring
it or customize.

You can use the s2Member plugin.

Disclaimer: I have not used these plugins in combinations and could not guarantee that they’ll work out of the box. But with little/some modification you would be able to get it all working.