Many large shopping malls offering various types of goods - from grocery stores to boutique shops - have appeared in Prague over the last several years. They are open every-day (usually until quite late) so you should have no trouble to buy what you need when you need it.
On the other hand, smaller markets with organic food and other homemade products are also quite popular. You will find these farmer´s markets in certain parts of Prague on specified days, usually once a week. Try to check them out, as you might find special local items there, instead of the typical and touristy Russian matryoshkas or overpriced marionettes that most of the souvenir shops in the city sell (especially in Karlova Street).
Czech spa wafers, traditional liquors (e.g.Becherovka), wine and beer from a local Czech vineyard or brewery, Czech glassware, crystal jewelry, genuine Czech garnets and/or wooden toys would make wonderful presents and lasting souvenirs.