Horizontal and Vertical Alignment
Regarding your first question, you can't actually vertically align text inside a layer. What you do instead is explained in the first answer to this question, that I think is very valid for any type of element:
For positioning text you don't need a bounding box. I never use
bounding boxes for text in PS. I click the text tool without dragging
and set the text cursor without a box. Once the text is entered, I can
center it vertically or horizontally just like any other shape using
the align buttons--assuming I have something to align it to.
So basically what you move around and align using the alignment tools is the layer rather than the text inside a textbox. If you want to use a textbox still, there is a workaround using baseline shift.
For the horizontal alignment, you just need to use Center Text
in the Paragraph
panel.
But as mentioned, for all layers (be it text, shape, etc), you should use the Align
tools. You can find a nice guide on how to get you started with alignment in the Adobe site.
Gradient Overlay
Now about your second question, the gradient. The easiest thing you can probably do is just use Blending Options > Gradient Overlay
. Now if you want all your texts to have the exact same gradient regardless of size, you could:
- Draw a rectangle the same size as the expected text;
- Apply a multiple-color gradient to the rectangle;
- Use the gradient layer as a layer mask so only the letters show the colors.
A quick example of these options. In the first one the gradient adapts to the length of the word, in the second it remains the same.

Note: This is killing my eyes too.