"Can this project be done using VB.net? What about ASP.net? Is that the correct choice?"
ASP.NET is not actually programming language, per se, but it
instead can be programmed in any .NET language (C#, VB.NET,
J#, etc.), so don't get it confused as a completely different
language. And yes, this can easily be accomplished through it.
"Is learning HTML necessary?"
If you're using the standard ASP.NET server controls and creating
all the pages in the Web Forms editor, then no, you don't need
to know HTML. A basic understanding of it would be helpful,
though, in case you need to go "behind the scenes".
"What books do you recommend?"
Any "Teach Yourself ASP.NET In 21 Days" or in "24 Hours" or
something should be sufficient, assuming that you have an
understanding of the syntax of the language you're going to
program in.
Good luck.