Programmatically Get Schedule or Next Run Time for Given Method?

Let's say I schedule something with "schedule" or "runIn" or one of the derivatives and in another event or somewhere else (a different execution of my driver) I want to know what is scheduled, if the schedule is still running, etc. Is there a way for me to see if a given method is scheduled already/still at the quartz level? I can try to keep track of it myself but it gets tricky through restarts, hub maintenance, slowdowns, concurrency, etc. If so, is there a way to determine when the next run would be?

Also, is there any way to schedule the same method/handler twice? Scheduling a method again seems to overwrite the first schedule or be ignored. I haven't looked carefully enough to determine which. For example:

schedule(somecronstr, myMethod)
schedule(someotherstr, myMethod)

When I look at the runs one of those is ignored. I would like to have two schedules because cron/quartz is not well equipped/aware of to the second scheduling. It's impossible to do scheduling of intervals (like 90 seconds for example) that aren't factors of 60 without two schedules.