Código PHP:
$direccion = ($row["direccion"]);
echo "<td valign='top'>
<b>";
if(empty($direccion)) echo "<a target='_blank' href='foto.php?ID_agencia=".$row['ID_agencia']."'>
<font color='#000000' face='Arial' size='1' width=100, height=100, scrollbars=yes, menubar=no, location=no, resizable=no>FOTO</font></a></b>";
else echo "<b><a target='_blank' href='mapa.php?ID_agencia=".$row['ID_agencia']."'>
<font color='#000000' face='Arial' size='1' width=100, height=100, scrollbars=yes, menubar=no, location=no, resizable=no>MAPA</font></a></b>";
echo "</td>";
Prueba esto. No tienes pq hacerlo de un echo todo. Haces un primer echo, luego miras si dirección está vacio, y haces un echo segun sea el resultado