You don't ned multiple IP addresses to do name-based virtual hosting (that's why it's called name-based as opposed to ip-based virtual hosting).
You might find the following pages useful:
page 1,
page 2 and
page 3.
You should start with apache docs, they explain the difference between ip-based and name-based virtual hosts which applies to every web server.