With a budget of 3-4k, the 20D is not feasible as mentioned
As also mentioned, the 300D/D70 offers excellent value for money with the recent price cuts. What has not been mentioned is that you may also want to consider a used 10D
Out of the 3 options, 300D/D70/10D, I'll rate the D70 as the most value with the lowest cost that meets your needs. At $1700, with a good kit lens that covers from 18-70, you can already start shooting a wide range of subjects
For your macro needs, you can consider some filters and extension tubes. If you are serious - a true macro lens. Since your subjects are static and you don't need a lot of working distance, you may want to consider the Sigma 50mm F2.8 macro or perhaps the Tamron 90mm.
Use the remaining money for other lenses and accessories like external flash, tripod, dry cabinet, etc. For the other lenses, would advise you to play with the kit lens first before you decide what is suitable