As a client
I don't think that there is a way to check the cache status of a record on a DNS resolver. If you are really concerned about whether the record is cached then you can directly query the authoritative nameserver.
As a resolver
As a resolver you can choose to cache (or not cache) what you want, but I wouldn't recommend messing with this. The authoritative server has requested the cache time with their TTL, and I'd recommend that you just respect that. Caching is very important in DNS to spread out the load over the network.
As an authoritative nameserver
As an authoritative nameserver you can use your TTL to request that resolvers cache your record for a certain time (which you can set very low for near instant expiry). However, unfortunately, resolvers sometimes choose to not listen to TTLs.