I really like this question because I have to deal with this all the time. So, I will try and write out how I deal with it and perhaps that will be helpful.
1) Charities:
My friends know not to ask me to donate to certain kinds of causes because they would rather not have to hear my annoying speeches.
First, I ask if the charity is religion-based. If so, its an immediate and non-negotiable refusal—I cannot support it because I simply do not know of any religion that has not caused misery to its own people or some other people under an implied agency of higher authority. So, that takes care of a lot of charities. Besides, so many people give to religious charities that they probably wont miss my measly donation anyway.
Second, I explain that I focus all my charitable giving on organizations that fit within my belief system. E.g. I believe there are lot of causes that are more immediate and pressing than religion, space research, or cancer research (even though my mom has it). So, I prefer charities that focus on basic survival (e.g. Hippo Rollers, clean drinking water, food, homelessness) and provides tools to lift oneself out of a miserable existence e.g. micro-credit organizations (focused on poverty and self-reliance through self-employment or business) or education (math, english, not a religious school), one laptop per child, Kiva, etc.
Third, I ask if the charity is focused only on a specific geographic area or is global. I prefer to give to those charities that don’t discriminate between countries, ethnicities, religions etc.
By the time this speech is over, the person has either left or has a cause that is actually worthwhile. And, if that is the case, I tell them that I have a “random” non-discriminatory system and will give them the smallest bill I have in my pocket that is greater than $1 but less than $50. Usually, that will turn out to be $5, $10 or $20. At this point, the person just wants me to be gone so they will take it and move on.
2) Dinner Bill:
This has taken a lot of work because culturally, I feel compelled to pick up the whole tab every time (the theory being that if I insist on it this time, someone else might the next time, and it will all even out in the long run amongst friends).
Now, after having been in the US for 15 years, I am able to resist that impulse sometimes and will just split it unless I clearly had more expensive food than the others—in which case, I will split it evenly and take care of the tip.
I have not yet been able to get to the point where everyone pays what they ordered unless there were separate checks anyway.
So, I am probably not the best equipped to answer question 2.