At boot time, Laravel reads all your configuration files and holds their values in the Application instance. So calling config('app.configKey') will not load the the config/app.php file, even when calling it the first time.
In your scenario, it really depends what the code behind /* Some code here ... */ does.
Imagine calling some method, e.g. $this->changeConfigValue(), that changes the config value for app.configKey. What that actually does is it changes the value in the Application instance, it will not overwrite your config files.
In your first code example, $anotherVar would always be equal to $value. But in the second code example, the value for $anotherVar would be read from the App instance again and would be equal to whatever $this->changeConfigValue() set the value to.
This is not a cache.
Laravel provides a way to cache your config. You can do this manually with an artisan command:
php artisan config:cache
This will create the file bootstrap/cache/config.php which holds all your configuration in one single file. When booting, it is faster to read just one file instead of your entire config directory (and that's what a cache is for :P).
http://laravel.com/docs/5.1/installation#configuration-caching