Can you explain more what you don't like about it? You seem to
want to be accessing a global from another package; code that explicitly says that ($main::dbh) would seem to me to be the way to go.
But, if you really want, you could put package main; our $dbh;
before the package Exported line; then simply $dbh will refer to the one in main.
Or, at some miniscule risk of perl later trying to use the same name for some internal purpose, you could use a "punctuation variable" like ${^Dbh}. Such variables are always looked for in package main.