ok,
L1 cache is on die cache, basicly integrated in to the inner workings of the chip,
L2 is also on die but not integrated in to the iner workings, its next to the die but still on chip,
L3 is cache external to the chip,
L1 is important, but usualy a small amount is put in, 128KB at max, and devided between units on the chip,
L2 is also important, general use cache for all on die components, for general use, 256k-512k is enough, you might want more if you work in photo/video/audio editing or large databases, and some games might run smoother with 1-2MB of l2 cache, but the differance is usualy misrable,
L3 cache is basicly a joke and isnt really used alot, its almost the same use as L2 cache but since its off die/chip, the latency is greatly incresed, unless you use software that benefit from large ammounts of cache memory, L3 is a waste,
another issue is the balance between cache size and cache latency, as always, the size and density of a memory unit will affect the latency, a block of memory is basicly a storage grid of 1 and 0, the bigger the grid the more time is needed to find and access an individual position. so under some conditions a processor with less cache will function faster then a processor with more cache (another reason to get a 2MB conroe insted of a 4MB one),
so make sure you dont just let the cache blind you and take the other aspects of the processor in to account, best way ? look at what you do most, and then start looking at benchmarks from different websites, and depending on what you do, check how the processor does in the benchmarks relevant to your plans for the processor,
as for your 2nd question, graphics card memory is usualy used to stora texture and rendering data, which means, that it depends on your monitor and the resolution you play at, also the game you play,
at low resolutons, 640x480, 800x600, 1024x768, alot of cards with less memory are actually faster then cards with more memory, why ?, same reason as the cache latency issue, more memory, takes longer to fish stuff out of it, especialy when your not using most if it,
but at higher resolutions, you get bigger textures, more detail, bigger maps and renders, which take up more video memory, so if the textures and the rendering is bigger then your graphics memory, it has to be dumped to main memory or even swap memory and then the rest has to be rendered again in the video memory, meaning you have more processor load becuase your short on video memory, so once again, its a balancing act between the memory you need depending on the games you play and at what resoluton,
if you play at 1280x1024 or higher, go for 512mb,