Yes, each connected server will have its own unique public IP address and that is what allows it to be found on the web.
However, if you want to host different sub domains at different places, you do not need your own dedicated IP for it. It is very simple really.
You will need to host your DNS Server at a neutral place, perhaps one good place to start would be to make use of your Domain Name Registrar DNS service or place like DNSMadeeasy.com or Zoneedit.com. I heard that MyDomains.com allows you to use their DNS Service even if you are not their customers but I cannot verify that.
Two things you need to do. First create the subdomain on your shared hosting sites. If the control panel restricts you from doing so, get the web host to set it up for you. Most will be willing to do so for free. Then find out what the shared IP is for that site.
Second, at the DNS Records, place an 'A' record for the subdomain and point it to the shared IP of the shared hosting account. Then you are set. Of course, at your domain name registrar, you need to point to use the DNS Server which you are using.
The reason for the 3rd party DNS Servers is that web hosts normally do not allow you to point outside of their network.
I followed the instructions on that other thread, and I think it's similar to what you have described
I'm currently using godaddy's nameservers, and under their "total dns" control panel, under A (Host), I've added the host name: subdomain.domain.com pointing to the IP address of the webserver which is meant to host that subdomain
I'm guessing that godaddy (my registrar) is acting as the "neutral place" for the DNS servers correct?