Yes there are lots of ways to do this, the easiest of which is likely using Startum Proxy as described here: https://litecointalk.org/index.php?topic=4831.0
Also I found something which may be able to help here on SE: I have 8 Antminers, is there a way I could change their pool credentials all at the same time like through ssh with a script
It should be noted that the Stratum Mining Proxy was developed to port old machinery (early ASICs, mainly) to Stratum by having the proxy create getwork from a stratum request for you.
I would look at some open source pools: https://en.bitcoin.it/wiki/Software#Mining_Pool_Servers_.28backend.29
Getwork has a great feature built in called "hostlist", which was created by slush and is described here: https://en.bitcoin.it/wiki/Getwork#hostlist
I am not sure how this transitioned into stratum or getblocktemplate.
It has not been included in most pool software and is not native to bitcoind (it is a miner-side protocol and thus does not NEED to be in bitcoind): https://en.bitcoin.it/wiki/Poolservers
Until last year hostlist had transitioned into more modern mining software, I would recommend testing this function before getting too far into development ;) Unfortunately I do not have the time right now to test this but hopefully this puts you on the right path of hacking together something which works for you.