A weird way to do the custom roulette: Set up a macro that tries to mount all of them with no delays between them, like

/mount "Company Chocobo"
/mount "Unicorn"

and so on. Then, hit the button just as you land from a jump. The game will try to execute every command in order, and if one succeeds because you are able to summon the mount, the rest will fail because you're busy casting the summon mount ability. Very clunky, but hey, it does work, sort of!

To have one button that mounts the mount I want to ride unless my choco is out, and mounts my choco if he's out, I have macros that do /mount <mount> followed immediately by /mount "Company Chocobo" and I have a different one on most classes. For the ones where I DO want to ride my company chocobo, I do the same thing, but with the chocobo first. That way, if my chocobo is stabled, I can still mount up with that button.