1. Нет, но если не указан username то Вы найдете полноценный объект User
В таком сообщении будет массив entities из объектов
MessageEntity. Текст вида
@username добавит MessageEntity с типом
mention, а если username не указан в профиле то тип будет
text_mention. Такой MessageEntity содержит объект User с id внутри (что доказывает его существование)
2. Можно лишь только в пределах одного чата (группы, канала) и только
username by id, метод getChatMember
Выход конечно же есть но слишком
извращенный в данном случае