This is an old question but maybe it could still be useful for someone, so I will try to answer it.
Assuming that the same Timers table could be shared among different servers that doesn't execute in a cluster (in fact I think this is possible) several issues related to TimerService implementation will appear, e.g.: supposing that each server has deployed the same Timers, will be each Timer's instance associated with different records on this table?. If so, the business logic will be executed more than once when the Timers expire. In case that the deploy process only generates a record per Timer, does the TimerService execute properly when different TimerServices try to access/modify the same information concurrently?
On the other hand, if the motivation behind this idea is to achieve some kind of fault tolerance, still exists the problem that all your servers must have deployed the same Timers, otherwise a TimerService can try to execute a Timer that is not deployed in the server.
The solution for to offer High Availability is already implemented and is called HATimerService.
In a cluster there is only one Table, but the difference is that exists a unique TimerService active per time, when the node that execute the TimerService fails, another node become the master, therefore doesn't exist timer information exchange between nodes due to the information is available in the database