Whatever feels comfortable in your hand. Make sure it has an adjustable throttle, Z-Axis (you can twist the stick itself for rudder control), and a Hat switch. The more buttons it has, the better. In addition to the firing trigger, 3-5 extra buttons on the head is nice. A few extra buttons on the base are nice too. In all, you need buttons for Fire, Alt Fire, Map, Gunsights, Airbrake, and Rear View. Extra buttons for Change Ammo, Enter/Exit Vehicle, and Parachute are nice to have but not really necessary. You can always find some use for extra buttons, but you will definitely notice if you don't have enough for the basics.
I have a Saitek Cyborg EVO Wireless Joystick. It was $20-30 dollars a few years ago and works perfectly fine for me. Looking through this topic, other people have mentioned what kind of joystick they have and what they think of it, so look back through the topic for more suggestions. I wouldn't spend too much money, especially if it's only for BF2/FH2. As long it has the stuff I listed above, it should be fine. If you want, post which joysticks you're considering and we can critique them, I guess.