Sí, tendrás que poner un if para que en vez de Agregar Amigo te ponga Ya es tu amigo por ejemplo.
Por que no creo que ocultar esos usuarios en la búsqueda sea la mejor opción.
Puedes hacer algo así:
Código PHP:
...
while($f=mysql_fetch_array($busqueda)){
$id=$f['id'];
$foto=$f['foto'];
$nombre=$f['usuario'];
?>
...
<td width="8%"><div align="center">
<?php
$amigo = mysql_query("SELECT * FROM amistades WHERE id_de = '".$_SESSION['k_username']."' AND id_para = '".$nombre."'");
if(mysql_num_rows($amigo) > 0) echo '<input name="agregar" type="submit" value="agregar" />';
else echo 'Yo Soy tu amigo';
?>
</div></td>
...
Importante! Mientras lo hacía he pensado una cosa, deberías cambiar algo en tu tabla de amistades, tal y como lo tienes lleva a pensar que yi yo te agrego como amigo en la tabla aparecerá:
id_de: Gonzalo, id_para: Wily
Con la solución que te he puesto yo no te puedo agregar pero tú a mi sí, el problema esq esos nombres de campo me lía, podrías poner usuario1, usuario2 o algo así xD
Para que tú tampoco me puedas agregar a mi la consulta debería ser esta:
Código PHP:
$amigo = mysql_query("SELECT * FROM amistades WHERE (id_de = '".$_SESSION['k_username']."' AND id_para = '".$nombre."') OR (id_para = '".$_SESSION['k_username']."' AND id_de = '".$nombre."')");