HUD elements and sprites are often non-power of two sizes, but textures should almost universally be power of two. At least that’s what I’ve found in my experiences, there may be reasons I’m not aware of for why you might want to have odd sizes.
Whatever filtering method you use, make sure it looks good. That’s it.
https://developer.nvidia.com/nvidia-texture-tools-adobe-photoshop is a tool for creating normal maps in Photoshop, though you’ll need to make heightmaps to use it. Height maps are black and white images, where black is the lowest area and white is the highest area.
For things like wood you can get away with making a new layer from what’s visible, desaturating it, and then adjusting levels and curves to get the look you need. More complex textures require more complex workflows.
Roughness is another black and white map, where white represents an area that should scatter reflected light too much to get a decent reflection (Rough like chalk) and black represents an area that reflects perfectly. (In other words, perfectly smooth) Again for something like wood, you can get away with something similar to what you do with heightmaps, but again more complex textures require more complex workflows.
That’s a really highly simplified and possibly wrong/misleading overview, you should go check out Unreal’s YouTube overview of materials, as well as searching for PBR (Physically Based Rendering) information in general.