1. 제 is short form of the 저의. Most of people use 제 in conversation.
2. No matter who you meet, for the first time, you always have to use 존댓말. (Even if you are talking with a child.)
3. When we are talking with our parents and older siblings, you are allowed to use "저", "요". But we rarely use with "님". When you are calling the people from mother's side, you can use "님" for utmost politeness. e.g.) 어머님, 아버님, 형님, 누님
4. No, they don't. And we don't actually consider 'friends' when someone with younger or older. Age hierarchy is quite strict in Korea. We use separate word for older friends(선배) and younger friends. (후배)
5. You always have to use top polite form for someone you don't actually know. (~ㅂ니다) "~요" is considered to be more casual form and not suitable for public meeting.
6. No, we don't. If you are older one and you can allow other younger people to not use 존댓말. But it's bit feel awkward as a native to call someone is older than you without 존댓말. Also it's considered to be rude to call someone without 존댓말 if you are younger than a listener without a mutual agreement.