I think the answers are more geared towards on-line accounts than specifically for completely off-line such as TrueCrypt, Keepass, ect., for something like TrueCrypt it is (as said) completely off-line you start up your computer and it asks for the password, as long as you can enter a password there an infinite amount of times you will be able to brute force it, this is why a long random password is required as for each character you add the total possible passwords go up exponentially.
If we think of something like Keepass you have a single encrypted file I am sure there will be a way to have an automated system try every possible password in order to attempt to crack it, the same I'm sure could be said for a TrueCrypt container, if you had more resources you could duplicate said files and put them of more than one computer to crack to slightly reduce the time.
I have absolutely no idea if any programs or anything exist in order to attempt it or how fast they could work, from the top of my head the Amazon Cloud computer can only try passwords up to 8 characters is a reasonable time (a few days) after that you end up at years and centuries.
So I would say using a short random 8 character password is not good but greater than that should be OK (as in the thief who steals you computer will certainly not wait a year to try and decrypt your computer). All this relies that it's even possible to attempt to brute something like TrueCrypt automatically and quickly.
With Keepass you can set how many encryption rounds is needed to unlock your DB, setting that to a higher amount will prevent brute forces further as it will take more time to crunch the numbers.