Second, you could use two separate hot wallets, one for medium and one for fast withdrawals. You'd need to manage these carefully, perhaps by splitting your total available funds between them. Then, you can configure your system to draw from the appropriate wallet for either medium or fast transactions. It might not be the best idea though..
You have spoken well Hatchy and I support using two separate hot wallets for this, permit me to add little more logics to your response, This is the deal, create a logic to filter withdrawals with respect to the highest fee (fast category), those of lower fees (Medium) and finally for the last (slow). Use one of the hot wallets for only fast category and the other second one to mix other transactions in the event there are more in the fast category than you can batch at once (for example, of you batch 100 transactions at once, you include all remaining from the fast category which maybe 60, then select 30 from the medium and finally 10 from the slow category or you can even leave out the slow category, only to add some of them after a given time frame), this would ensure that the transactions that are in the fast category are given adequate priority, while those in other categories receives minimal attention with respect to their position on the respective withdrawal queue).