Estabas cerca. La consulta debería ser así:
db.test.update({"city":"Palo Alto"},{"$pull":{"friends":{"name":"Frank"}}});
$pull toma un objeto cuyo campo especifica la matriz de campos "friends" . El valor {"name":"Frank"} representa la consulta (para ejecutar dentro de la matriz) para encontrar el elemento para extraer.