I'm not aware of any services that offer that for free, but that is insufficient to prove that none exist. You've got the right idea, though, having hit upon the major disadvantage of frame-based "web forwarding" domains. Good luck looking for one.
"If youíre not using valid HTML, then you havenít created a Web page. You may have created something else, but it isnít a Web page." - Joe Clark
Why do you want too do that? Seems a lot of trouble to me. I run my own server so this is no problem for me to do for one of my domain names but is much more complicated than just stringing it on the end like this: www.mydomain.com/mysubdomain/.
With a sub domain you need access to the DNS and to the Apache config file. You also have to set up another virtual host and possible another branch in the directory tree.
The other thing is because each sub domain has its own DNS entry you cannot use relitive URLs, another good reason not to bother unless they are completely separate websites. Also the domain name looks very confused, for example: my_animals.com is pretty easy to understand compared to 4_legs.my_dog.last_years_holiday.my_animals.com. Don't you think? If i was in your situation I think I would rather register a straight forward, descriptive domain name and then use http forwarding to get your viewers to your site.
There is no right and wrong way to do this though so all the above is just my opinion.