Modifying download behaviour of drush
You can use  the --source flag to provide your own xml release history file containing paths to your own gzips. (drush dl drupal defaults to http://updates.drupal.org/release-history/drupal/7.x.)

Sadly I don't think you can specify a local repo, or even a remote repo as the source of a project for dl. Drush expects a gzip file to download and unpack. You could however write your own drush command that takes a local repo path, gzips it, and passes the gzip to dl.