As far as the browser is concerned the gap you see in your jsFiddle link is not there. The gap is part of the font. For instance if you put a lower case g
into your example, then the bottom gap disappears and the span fits the text perfectly.
This means there is no way to automatically resize the text to eliminate the gap as the browser will not know anything about the threshold, hence manual/visual trial and error would be required and that technique would not be very successful across different browsers.
I can only see 1 real solution to this issue, assuming the issue is eliminating that gap. The solution is to use an image.
If you don't want to create the image in photoshop then the image could be created in the frontend on canvas, or in the backend via a library like GD in PHP. By dynamically creating the image you can then loop throw the pixel data to easily remove any whitespace from around the text.
As a side point a font replacement technology like cufon or typeface.js might be able to provide text without the gap with a bit of fine tuning.