Debo instalar la versión de 32 bits o la de 64 bits de un programa?

Sí, deberías instalar la versión de 64 bits. Cuanta más gente ejecute aplicaciones de 64 bits, más cerca estaremos de realizar la transición en el espacio de escritorio por completo. Al parecer, el código de 32 bits en los procesadores x86 en realidad tiene un pequeño golpe de rendimiento, ya que es emulado en lugar de ejecutado, aunque no he leído eso en años, y admito que fue antes de mi formación formal. Tómelo con un grano de sal, suena demasiado simplificado y no he profundizado en el tema.

Las versiones de 64 bits del software x86 permiten direccionar más memoria, realizar cálculos de enteros más grandes en menos tiempo, una mejor asignación de registros por parte del compilador, ya que ahora hay 8 registros de propósito general adicionales, y una mayor cantidad de instrucciones que pueden ser elegidas por el compilador para implementar el programa (aunque se puede argumentar que el único punto en el que se utilizan estas instrucciones es en las bibliotecas codificadas a mano, o a través de intrínsecos del compilador incluidos por los humanos).

Tu comentario sobre el comportamiento de la caché y el aumento del tamaño de los punteros que incrementa la presión de la caché no es probablemente un gran problema. Si bien es cierto que los punteros ocupan el doble de espacio en la memoria, no es que un programa normal vaya a tener una gran cantidad de punteros en su conjunto de trabajo, es decir, la cantidad de punteros que están en uso durante un pequeño período de tiempo es probablemente lo suficientemente pequeño que es un punto discutible. Las cosas sólo permanecen en la caché cuando se usan mucho, y los punteros tienden a apuntar a datos más grandes que ellos mismos (¡ciertamente apuntan a líneas de caché más grandes que ellos mismos!), y si un puntero está siendo usado (léase: desferenciado, o siendo pasado a un procedimiento para ser desferenciado), entonces los datos más grandes que él mismo probablemente ya están en la caché.

Todo esto depende, por supuesto, de los patrones de acceso. No tengo datos que respalden mi afirmación anterior, pero si realmente tienes curiosidad, investigaré esto sobre algunas cargas de trabajo de las que pueda publicar datos, si me envías un mensaje y me lo pides amablemente :).

Personalmente, me preocuparía más que el tamaño de la palabra aumentara de 4 a 8 bytes para la mayoría de las operaciones con enteros que para los punteros. Sin embargo, tenemos esquemas de compresión de caché para lidiar con eso, al menos en las memorias caché de nivel superior, y en realidad no resulta demasiado perjudicial.