The answer is mostly contained in your question. Of course, if you can have ASP.NET hosting, using it would be the best.
As to the data storage, even for small volume of data, it's hard to imagine that you have enough experience and resources to develop some alternative to relational databases. Only if your data can be totally stored on the computer RAM with ease, having your own storage could provide some benefits (like OOP, no problems with object mapping, easy application-oriented design), so you could use, say,
Data Contract, and single-file storage. I don't think this is your case. Anything bigger than that rather calls for some relational database. To make a choice, please review:
http://en.wikipedia.org/wiki/List_of_relational_database_management_systems[
^],
http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems[
^].
Then you will also need ADO.NET:
http://en.wikipedia.org/wiki/ADO.NET[
^],
http://msdn2.microsoft.com/en-us/library/aa286484.aspx[
^].
This simple and good CodeProject article can make you get started in no time:
Using ADO.NET for beginners[
^].
What else? Perhaps, consider
http://www.asp.net/mvc[
^].
I would say, that's pretty much all. Your requirements are not anything special and are pretty modest.
Good luck,
—SA