I am aware that 32 bit operating systems cannot make full use of a 4GB installation, however is that extra .5 GB in any way useful when using 64 bit? Doesn't the double word length of memory pointers wipe out the difference? Would 6GB or 8GB be more prudent?
It doesn't matter, 64-bit just allows you to address more memory space. Your memory requirements should be more constrained on what you are planning to do with said system.
You may not even need 64-bit. When it is said that 32-bit can not take full use of 4GB of memory, that is true, but only on a per process basis. Not many processes want that much memory with the exception of database servers.
You Probably Want PAE:
What you may want is an OS that supports Physical Address Extension (PAE). With something like Ubuntu all you need to do is install the 'ubuntu-server' package and you will get the PAE enabled kernel, which will let you use over 4GB, just not for a single process.
Short answer yes, 4GB is sufficient for a 64bit OS.
What OS are you talking about? Or are you talking about all general OS?
It also depends on the application of the OS. More Ram would be suitable for heavy servers etc.. while 4GB is plenty for a desktop.
As you notice, differences are wiped since you have longer pointer types. However, 64-bit with 4 GB enables you to expand at later time. Also notice that address space of process is enlarged so single process can use more memory (limited to atmost 4 GB in 32-bit, usually way less - 2/3 GB for Windows) - whether that memory is physical or supported by page file.
Also, even with less memory, there are applications that require 64-bit - some hypervisiors come to mind as example.
I would go with 64-bit OS provided that driver support is not an issue (yes, all your drivers need to be 64-bit).
4GB is sufficient for most tasks you'd want to do on a 64-bit machine but memory is cheap (e.g. an extra 4GB of DDR2 RAM costs about $60 AUD, or under $50 USD) and it doesn't hurt to have more than you need. so i'd install 8GB anyway.
others have pointed out that it depends on what you'll use the machine for. i'll add that it also depends on what OS you're using and how it makes use of resources such as RAM.
Linux, for example, will use every byte of RAM in the system. Any RAM not being used by a program will be used for disk buffering and caching. Adding more RAM to a system has long been the single cheapest and most effective way to improve the performance of a linux server (esp. since most server tasks are I/O bound rather than CPU bound, so anything that improves I/O performance will have a dramatic effect on overall performance).
I build all my machines with 8GB RAM (4 x 2GB sticks) these days. saving $60 just doesn't seem worth it. if 4GB sticks were proportionally the same price as 2Gb sticks i'd probably build many of them with 16GB instead.
Nobody need more that 640kb of memory ;)
Joke aside, it depends on what you want to do with the computer.
The answer is "it depends". Windows for example - assuming we're talking about x64 and in order to preserve compatibility with 32 bit software - will retain 32 bits for integers and longs but switch to 64 bits for pointers (http://software.intel.com/en-us/articles/porting-to-64-bit-intel-architecture/). What this means is that only pointers will have additional storage requirements (and that only in native 64 bit applications), whereas code which uses int and long will have no additional overhead. You'll end up having much less additional overhead than you think you might have. Having said that, more memory never hurts, particularly in 64 bit land.
Other OSs and architectures may differ, of course.