これが可能な解決策ですが、残りのスタイルに大きく依存します。
position: relative を配置し、フロートをアンカーに移動しました (コードの残りの部分では、これを行うことができない場合があります。実際の動作を確認するには、フィドルを参照してください。
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
img {width:30px;height:30px;border:1px solid red;display:block;margin:3px;}
span {width:20px;height:20px;border:1px solid blue;display:block;margin:3px;}
a { border:2px dotted green;display:inline-block;position:relative; }
</style>
</head>
<body>
<div>
<a href="#" rel="lightbox"> <span style="position:absolute; background-image: url(zoom.png);"></span><img src="img.jpg" /> </a>
<a href="#" rel="lightbox"> <span style="position:absolute; background-image: url(zoom.png);"></span><img src="img.jpg" /> </a><br style="clear:both" />
<a href="#" rel="lightbox"> <span style="position:absolute; background-image: url(zoom.png);"></span><img style="float:right;" src="img.jpg" /> </a>
</div>
</body>
</html>