1) If the guy is about my elder brother's age + 5, I would call him "anh". Other than that, I called "chú" or "bác" according to my father's age.
I don't call anybody "ông", only when my parents called them "ông" too.
The other "ông" is used in business like meeting only or we don't know each other, like when two people talking on the phone. After we get introduced face to face, it would be "anh" or "chú, bác".
2) I don't go with my own age, I go with my brother's. Even as I get older, it's dangerous to call any older guy "anh", he would think that I like him the wrong way.
3) Yes, if I like someone enough, I would change "anh", disregarding to the first rule.