You can teach yourself to say "no". It is a practiced behavior that you can learn. I know because I've seen it done. I had a very submissive (in personality, not bedroom) friend in high school and she used to get walked all over, and I encouraged her to stand up for herself rather than me standing up for her (which I tended to do). It took her years of practice, but now she is quite good at putting her foot down in appropriate situations. Several years after college she had an abusive boss who gave her very long hours, dumped lots of other people's work on her, and was unappreciative about it. She worked up the courage to demand a raise, and that included her spelling out what was happening and how she was fed up with it. I was so proud of her for standing up for herself! Then, when she was still miserable, she went out and found herself a better job.

She is still an amazing friend and I know that if I was stuck at the airport at 3 in the morning with no ride and I called her, that she would come. The difference there is that she knows I would do the same for her.