So, I'm going to be gaming on a 24" monitor at resolution 1920x1080. Would the 2gb be enough for me for playing games like Battlefield 3 or is it worth it to go for the 4gb?
Actually games are beginning to take advantage of more than 2 GB of VRAM even if @ 1080P.
I've been impressed with the new Max Payne 3, with 8X MSAA enabled it consumes 2038 MB of VRAM but the real problem is that even the very high end cards can't take advantage of more than 2 GB of VRAM, so it won't make your performance or FPS increase whatever resolution you are into, so if the price of GTX 670 4GB is close to the 2 GB version, get it.
From the review of Plait GTX 670 4GB
The 4GB -- Realistically there was not one game that we tested that could benefit from the two extra GB's of graphics memory. Even at 2560x1600 (which is a massive 4 Mpixels resolution) there was just no measurable difference.
Now the setup could benefit from triple monitor setups at 5760x1080 (which is a 6 Mpixels resolution), but even there I doubt if 4 GB is really something you'd need to spend money on.