What you need is the 'sliding doors' effect:
http://www.alistapart.com/articles/slidingdoors/
In general terms, you give the <li> a top left corner and the <a> a top right corner using a background image and some padding/margin. Then you let the content of the push both sides apart so the text always fits.
I used the same technique on www.mallorca.nl, the block top left with the rounded orange corners:
<div id="destwrapheader">
<h2 style="font-size: 15px;">Vind jouw ideale Mallorca bestemming!</h2>
</div>
#destwrapheader {
background:transparent url(images/mallorca/destinationblock/destination_top_right.png) no-repeat scroll right top;
}
#destwrapheader h2 {
background:transparent url(images/mallorca/destinationblock/destination_top_left.png) no-repeat scroll left top;
margin:0 28px 0 0;
padding:0 0 0 12px;
}
Something similar goes for the other rounded corners lower in the page.
A slight problem: you'll need to indicate to the <li> that the link inside is active, not to the link itself.
Or you could also just ignore older browsers and use CSS3 border radius, of course: http://css3.info/preview/rounded-border