The protocol only tells your computer which program and protocol should be used to communicate with the server. The server server name itself is the destination. If you tell your ftp client to connect to ftp://www.example.com it's going to try and connect to the IP address returned by an A lookup to www.example.com. It has no way of knowing you actually want the IP returned by an A query to ftp.example.com.
SRV records could clean this all up, but there seems to be stubborn resistance by web browsers against doing srv lookups.
Wouldn't the protocol before the domain handle that ? Same goes for ftp etc.