As bumnut53 said, Crucial's website is an excellent way to find out what sort of memory you need for a given system. They will guarantee compatibility (or your money back) and you get a lifetime warranty on the modules.
As for upgrades, that really depends on what you want to do with the system. I'd say it's a reasonable assumption that you're not a hardcore gamer; the system as it is (with a bit more RAM to ease the bottleneck there - 2GB should transform the PC's performance) should be more than enough for casual web-browsing, email, office work, etc.
One little trick with Pentium 4 Optiplexes: Have a look in Task Manager and see if it shows one or two CPU activity graphs. If it shows one, reboot the machine and go into Setup (press F2 at the Dell screen). Look under performance options (I think - I'm doing this from memory - it could be CPU or hardware options perhaps) for an option called "Hyperthreading technology" (or something similar) and set it to "Enabled". Save & exit from setup, fire up Windows (it'll probably ask you to reboot to finish setting up your "new hardware") and you should now see two CPU graphs in Task Manager. It's not a "real" second CPU but a hardware-provided virtual one which should still make things a little smoother when you've got a background task like a virus scan going on.
(The Dell BIOS Setup program on these systems can be a little baffling for non-techies - hint: use the up/down arrow keys to move through the list of options in the left column, left/right to expand/collapse a group of options that has the the [+] sign next to it and Tab to switch between the option list and the actual setting on the right of the screen. Change the setting using left/right to highlight the mode you want.)
For some reason, Dell used to charge extra for hyperthreading-enabled systems but would fit an HT-capable processor anyway in the non-HT systems (maybe it was cheaper to buy loads of HT chips than some of each type).