1. Yes, I would sell them and invest in index funds.
2. Yes, if you plan to donate money, then donating appreciated stock is (usually) better as you can get the deduction (if you itemize) based on the full value of the stock, but you also don't have realize the gains, so you get a double tax benefit. I said usually because I believe the deduction limit of donated stock as a percentage of total income is less than of donated cash, so if you are donating a lot or have a low income then the deduction may be more limited if donating stock. If you don't want to give to charity, then doing so for tax reasons is silly.
How much of the $20k is gains? What other income will you have this year?