Если речь идет о названиях заведений, то в этом случае любое из упомянутых словосочетаний выступает в качестве имени собственного. У имен собственных, как известно, особое смысловое назначение и особые функции в языке. Есть ли какие-либо основания говорить о прямом или переносном значении существительных лебедь или кот, если они отнесены к заведению?
Глагол угощать содержит значение 'предлагать, потчевать' и поэтому обычно употребляется по отношению к человеку. Но если имеется в виду особенное отношение к животному, в такой ситуации можно употребить вместо глагола кормить слово угощать.
Это местоименное наречие (по другой классификации — местоимение).
См. в учебнике Е. И. Литневской.
Без контекста нельзя сказать однозначно. Это может быть и существительное, и прилагательное, и причастие.
Чаще всего выделяют десять частей речи.