Es decir:
for(i=0;i<N;i++){
calculodistancias (...tabla[M]);
ordenar(...tabla[M]);
recuento(...tabla[M])
}
Y al acceder a tabla solo tendria en cuenta esa fila?
O es algo absurdo que me he inventado?
No dejaste bien claro el ejemplo, hacelo mejor, explica mejor. Pero si, se puede llamar a una funcion dentro de un bucle, en ese ejemplo que pones el valor que se incrementa es i por lo que podrias darle un uso llamando a una funcion pasandole como parametro la i, asi por cada vuelta que de y con cada valor de i entrara a tu funcion a hacer lo que tenga que hacer con ese valor de i.
Por supuesto que si , el problema reside en que llamar reiteradas veces a una funcion le quita eficiencia al codigo , ya que cuando el pc lo ejecuta en lenguaje maquina hay que hacer un uso masivo de push para introducir datos en la pila y luego llamar a la funcion , lo cual si lo haces muy seguido y con un procesador patatero se te derretira el pc XD