when is the /etc/hosts file loaded? I'm trying to configure some virtual hosts and I'm quite confused as to when this file is loaded.

At what point is /private/etc/hosts loaded? When logging in? At every DNS call? When Mac OS restarts?
The hosts(5) manual page provides some insight into how /etc/hosts is used. 

The file is used by mDNSResponder and, given your question, I suspect you want to see edits to /etc/hosts reflected in your DNS look-ups.

After each edit of /etc/hosts reset the mDNSResponder cache using this Apple technical note, OS X: How to reset the DNS cache:

sudo dscacheutil -flushcache


The note explains when you might need to do this:


  When you might want to do this
  
  OS X keeps a local cache of resolved DNS queries for a time defined by
  the DNS server, but sometimes it may be necessary to reset the cache
  immediately and re-query a DNS server. For example, you might do this
  after an entry on the server is changed or a new entry is added.