Your late 2006 iMac 5,1 can physically handle 2 x 2GB memory cards, however, the system will only access 3GB of memory. You can also install a 1GB and a 2GB memory card, for 3GB memory. Installing 2 x 2GB will give you a slight performance benefit over a 1GB and 2GB card, due to the Intel architecture.
I've used Crucial (http://www.crucial.com) memory for years with no issues. On their web site you can choose your system to see what they have. If I remember, 2GB cards were running around $26 and 1GB cards around $28. If you look around the web, you can usually find a 5% discount code. Another reliable vendor is OWC at http://www.macsales.com . I've bought Samsung memory (which is factory fill in some models) from them.
Lion requires 2GB, and a number of people are finding that, like other operating system minimums, that's enough to turn on the lights but may not be enough for good performance. 4GB, or more, seems to be popular. So 3GB is certainly better than 2, but you might also consider whether you should think about a system upgrade to a new system. Of course, for $50 for memory and the cost of Lion, you could always try it out to see how it works.
Don't forget on Lion that there is no Rosetta emulation, so if you have any PowerPC programs running under Rosetta today, they won't run under Lion tomorrow.