Solo tienes que ser más inteligente con tus llamadas. Por ejemplo, mantener los objetos de base de datos almacenados en caché y ese tipo de cosas.
Sin saber más sobre su código (su pregunta es bastante confusa), parece que si su consulta es algo como esto:
$query = "select abc from tblname where colname =" .$value; // run 10 times.
Realmente solo necesitas escribir un código más inteligente:
$values = array(); // Now, populate this array.
// When you're done, run the query:
$query = 'select abc from tblname where colname IN (\''.implode('\',\'', $values).'\')';
En general, nos referimos a esto como Dynamic SQL y es la base de cómo se hacen las cosas normalmente hoy en día. Un procedimiento almacenado (o, según cómo leí su pregunta, función almacenada) es útil a veces, pero es algo anticuado como metodología de primer orden para interactuar con SQL. Los muchachos de DB todavía confían en él a veces, pero creo que incluso ellos están bastante bien de acuerdo en que las consultas más inteligentes siempre son mejores.