So:
JDBC Web servers(US/East) <---> 90 database (5 different timezones)
Therefore everything to the end user is passed through the Web servers?
Is there a reason why the databases have different timezones?
Seems to me less complicated to have all the databases share the UTC timezone. Then you only have one offset, US/East <--> UTC.