Q:

Is DNS caching a security vulnerability? 

In FireFox, for example, there are network.dnsCacheExpiration and network.dnsCacheEntries preferences in about:config.  Is increasing the length of time and number of cached DNS entries a security vulnerability?  What if the IP address of the secure website I'm visiting changes, but my browser uses the old cached address, and now it's trying to authenticate to the wrong website, which could be that of an attacker? 

A:

This is what TLS is supposed to fix - if the website uses a certificate to identify itself, someone having the old IP address will still not be able to impersonate them.  
Also, even if you don't cache the entries within Firefox, your own resolver is going to cache them.  You cannot count on a DNS change being immediately visible to all clients - so anyone moving their site from one IP address to another should keep a cache or a redirect going at the old IP address for a while, in order to prevent just this.