Please check with the Minecraft folks directly about running multiple servers on one TCP port. (This isn't an OS X or OS X Server question, this is a Minecraft server networking question.) From what I could find with some quick research, there's no mechanism akin to Apache's virtual hosting support that would allow separate Minecraft servers to share a TCP port on a single host. Put another way, from what I can see of Minecraft, there can be at most one server on one TCP port. But check with the Minecraft folks to be certain of this.
If you use a different TCP port for each server, then your configuration will likely work.
Alternatively — if you choose to configure and run multiple different guests as instances within a virtual machine — you'll have the equivalent of multiple different computers, all running within one physical box. This means you're not sharing a TCP port among the Minecraft servers. You'll need multiple public IP addresses for this to work, as the arriving client connections are by IP address and not host name.
Some background on IP networking...
There's generally only one process that can be connected to a specific local TCP port on a specific computer, though various remote clients can connect to that port; depending on the details of the application code, there's either a one-to-one or many-to-one relationship of clients to the server.
DNS is only relevent here in the context specific to the remote client — at the remote locations — being able to acquire the target IP address from the target DNS host name.
DNS SRV records include a port number, and can provide a way for a client to determine what the target port is, but I'd tend to doubt that the Minecraft clients know how to use an SRV record. From what I can tell, the clients are probably just defaulting the target port, or are manually configured for the server port.
DHCP is unrelated to this entire discussion. That vends IP addresses to requesters from a pool of IP addresses, allowing a network administrator to both avoid having to assign addresses to specific clients, and to make more efficient use of a (smaller) IP address pool when not all the clients may or will be present together on the network.
Apache virtual hosting works because the target host name is included inside the HTTP or HTTPS messages, and a single Apache server can key off of that name to select the target enviroment for the incoming connection. Without the host name within the data stream or some other specific identification of the target — the DNS host name is not passed along with an IP connection by default, just the target IP address — virtual hosting and the associated port sharing isn't feasible.
Again, please check with the Minecraft folks and see if it's even possible to run multiple servers on one TCP port. You're not asking OS X Server questions here...