Those are not 'sub-domains'; they are hosts on the network.
"www" is really nothing more than the de facto standard, and in DNS is usually expressed as;
www IN CNAME @
Where previously
@ IN A <IP>
Exists for the domain. The "@" is a catch-all, which is why http://slashdot.org works as well as http://www.slashdot.org.
There really is no requirement to have 'www' prefix any basic web front end, however, since it has become the accepted standard you find it religiously used everywhere.
In DNS it is just as easy to set up resolution for test.yahoo.com as,
test IN A <IP>
in the yahoo.com zone.
A "sub-domain", would be a delegated domain within the Internet domain, such as;
http://www.austin.mycompany.com
While technically, according to my previous statement you could have
IN A @ for the delegated sub-domain, it is not necessarily a sub-domain. Typically, task-based servernames do not represent sub-domains.
The domain 'mycompany.com' is DNS resolved by their nameservers, however, every request for austin.mycompany.com might be delegated to a set of nameservers for that part of the company. This way, tasks can be broken down more easily, with regional work designed specifically for that particular geography. Or perhaps a hosting company has multiple data centers; internally they resolve them as sub-domains, partly to identify physical location and partly to disseminate workloads.
So to more specifically answer your questions; yes. You may have as many hostnames as you like, you may host them on as many servers as you like, and they may be scattered anywhere you like -- as long as you or your delegate controls DNS.
Cheers.
"It's always a long day, 86,400 won't fit into a short."