OK, some general points first... There's a very definite limit to how large your subs can be. If I recall correctly each sub is limited to 64Kb of plain text, but this is rarely a problem if your code is well structured. I did help out somebody with a procedure that was too large recently, but it's really not usually an issue.

This page shows how much memory is reserved by Excel for each variable type when it's declared. As you can see it's a pretty trivial amount, certainly on modern machines with many Gigabytes of usable memory.

So, to answer your specific questions:

1. Not that I know of, sorry. In manufacturing there's a principle called Just-In-Time, where you avoid holding stock by ordering components such that they will arrive at the factory exactly when they're needed for assembly, so I suppose you could call this JIT coding

2. The difference between declaring variables early and late is likely to be non-existent. Given that you're talking a couple of bytes for each type you'd run out of space for the module before you used a significant amount of memory. The savings would be somewhere on par with those gained by only using single character variable names. That being the case I'd go with always declaring variables at the start of the code, because it makes the definitions easy to find.

3. According to the link up there you can have very long strings; approximately 2 billion characters. According to my rough 'n' ready maths that's about 2Gb of memory space! If you were dealing with strings of that size then there probably would be an advantage to storing them in memory for as little time as possible. However, if you're trying to store strings of that size and manipulate them in memory you've got to think that there are bigger problems with your code than where variables are declared/assigned. For 'normal' sized strings the actual memory usage (1Kb or less) would be trivial compared to the amount of available memory, so any savings would be negligible.

Which, I suppose, brings me to a final point - VBA isn't a fast language. It's a very convenient and relatively easy way to access the power of Excel, but if you're interested in shaving every possible millisecond off your run time then it's probably not the language to be working in.