Did your ISP give you a static IP address, or do you get assigned an address via DHCP? Most ISPs offer dynamic addresses, but a lot of times even dynamic addresses can be pretty stable (my machine at home has had the same dynamic IP address for over a year). That will make a difference.
If your IP address is static, or is a fairly stable dynamic address, it's probably reasonable to host your own DNS via ISPConfig. To do so, you have to get ISPConfig set up to provide DNS (probably all ready done, as the user interface makes it pretty easy to do), you need to make sure that requests to port 53 get forwarded to your ISPConfig box, and you have to modify your domain records with Yahoo to point to your ISPConfig box.
When you are in your domain control pages on Yahoo and you fill in the "primary name server" and "secondary name server" fields, you are telling the root servers what machines are going to be the final authority for DNS resolution on your domain. If I enter "www.wctahosting.com" into my browser, my name server will ask the root servers "who is authoritative for wctahosting.com?" The values that you put into Yahoo's "primary name server" and "secondary name server" fields are the values that get returned. My name server's resolver then sends a request to the machines returned by the root server, asking "what's the IP address for www.wctahosting.com?" If the servers returned as authoritative are Yahoo's servers (as currently configured), Yahoo's server will respond with a digital form of "beats me". So the idea is to have the primary name server (your domain's NS record) pointing to your ISPConfig machine.
One that's configured, setting up your subdomains ought to be fairly straightforward via ISPConfig's "codomain" features.
or have I completely misunderstood what information you're looking for?