[eluser]mddd[/eluser]
It is not CI that 'remembers' the directory. It is simply your webbrowser. Don't forget, to the web browser your CI urls are simply urls like any other!
If you are in /subdir/mycontroller/mymethod, and you like to 'othercontroller', it is logical that the browser will try to load 'othercontroller' from the folder where it thinks it is right now!
The solution: start all your links 'from the top', like /subdirectory/controller. Or even better, use the site_url() function in CI to make those links:
Code:
<a href="<?=site_url('subdirectory1/controller1')?>"><?=$this->lang->line('admin');?></a>
This way, if you ever move the site, the links will follow because they are made based on the $config['base_url'] that you set in your config.php file.