It could probably be achieved with some simple html / css coding.
I dont have time to look into it properly right now though.

In the meantime, try searching for plugins with this keyword - "Truncate"

---- edit ----

Ok, I had a spare second to take a look for you.
It seems like it's a PHP function that will sort this out for you.

What your trying to do it "truncate" so, I done a search for "truncate links"... and came up with these results.

Code: 
http://www.google.co.uk/search?q=truncate+links&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a
The top link gives you more or less what you want - "I think". I'm not a PHP expert, but it looks like it will do the trick.

Code: 
http://psoug.org/snippet/Truncate-Links-Over-X-Chars-long_230.htm
Code: 
<?PHP
 
FUNCTION handle_url_tag($url, $link = ''){
     GLOBAL $FORUM_user;
 
     // maximum link length
     $MAXLEN = 50;
 
     // if too long, clip it to how many chars?
     $CLIPTO = 45;
 
     $full_url = STR_REPLACE(ARRAY(' ', '\'', '`', '"'), array('%20', '', '', ''), $url);
     if (strpos($url, 'www.') === 0)               // If it starts with www, we add http://
          $full_url = 'http://'.$full_url;
     else if (strpos($url, 'ftp.') === 0)     // Else if it starts with ftp, we add ftp://
          $full_url = 'ftp://'.$full_url;
     else if (!preg_match('#^([a-z0-9]{3,6})://#', $url, $bah))      // Else if it doesn't start with abcdef://, we add http://
          $full_url = 'http://'.$full_url;
 
     // Ok, not very pretty :-)
     $link = ($link == '' || $link == $url) ? ((strlen($url) > $MAXLEN) ? substr($url, 0 , $CLIPTO).' … '.substr($url, -10) : $url) : stripslashes($link);
 
     return '<a href="'.$full_url.'">'.$link.'</a>';
}
 
?>
But how to implement this, I don't exactly know. Hopefully others will drop by and help you out.
Anyway, I hope this helps you out at some degree :-)