Aquiles, quando o servidor de envia uma resposta, as variaveis do php, que foram declaradas e manipuladas do lado do servidor não existirão mais. O que é retornado pra vc é o resultado da requisição, na maioria das vezes, em formato html. Quando você utiliza uma requisição assíncrona, é a mesma coisa. Ou seja, a sua variável $teste já foi destruida e você está recebendo o valor dela dentro do seu menu (se entendi bem a sua colocação). Então, o que vc pode manipular no lado cliente, é o menu, utilizando javascript/jquery.
<script>
tentei algo como :
function mudaVariavel(variavel, item) {
$.get('
index.php', {"variavel":
variavel},
function(data){
$('#'+item).text(data);});
}
</script>
<?php $teste= $_GET['variavel']; ?>
<a href="#" onclick="mudaVariavel('pasta1', 'teste1')" >link1</a>
<ul id="menu">
<li id="item1">
<?php echo $teste; ?> </li>
<li id="item2">item2</li>
<li id="item3">item3</li>
</ul>