Ok so after a few hours of playing around I've got this to work.
My solution is to point both my custom domains to the Azure VM domain by configuring CNAME in the DNS settings for each of www.bob.com and www.fred.com to be myserver.cloudapp.net.
Then, on my Azure VM I use IIS URL rewrites to route http requests to the appropriate context on my local Tomcat instance - I can do this by looking at the host name in the request headers and choosing the correct internal url (with the correct app context /bob or /fred) based on that.
There's a whole load of other quirks specific to my applications that I had to wrestle with - setting this all up from scratch with no prior experience with IIS was no walk in the park - but if anyone else has this problem I'd recommend first checking out this very useful article which contains enough info to get going with a solution similar to the one I've gone with.
Amazing how you always find the best howtos when you already have a solution in mind and know exactly what to google for :-)