Anything is possible Amigo, it just depends on how much you want to spend.
With regards to hosting it yourself:
The points listed earlier are valid. I would also consider the following:
1. How much speed does your current connection have?
2. How much bandwidth/business do you think you are going to get?
3. How are you going to display the pictures (the larger the picture, the greater load on your bandwidth/greater speed hit you are going to take)?
4. Do you have a static IP through your ISP?
5. Does your router/modem allow you to route an IP to another PC?
You can use just about any recent version of windows to run a web server on. Apache is free, but if you have windows XP pro you can set that up with IIS with little or no hassle.
It is easy to point a domain name to your own IP address, most registering companies provide the instructions for doing this, although I did have to dig a little at GoDaddy to find it.
There are several free DNS tools that allow you to set the DNS up for a machine inside your local LAN. I did this about a month, it was relatively harmless.
So, yes, you can host it yourself, but it IS a lot of work. But, here is what I recommend for you on this:
================================================== =======
Host it externally, there are so many sites out there, and I STILL haven't found one that I would pick over the others (and I have been doing this 8 years, they all seem to go wonky every now and then).
If you are going to use a MySQL database then set that up with the host and use MYSQLFRONT: it will allow you to administer the DB from your location, but connect remotely. I do this all the time for osCommerce and sugarCRM clients. It is very easy to use and quite a handly little piece of software.
If you are going th MSSQL route, then by all means get a hold of the Enterprise Manager (download the free eval version of MSSQL and you get this free), run that on your desktop, and make good use of the Query Analyzer.
Do you have a Database format picked out yet?