Ideal situation is that you have custom characters and animations made for your game–that way you can direct the design and have it match what you’re looking for.
If you haven’t done a character before, it’s going to be a huge challenge, for a good human you need to have experience with modeling/sculpting people and beyond that you’d still need to rig and animate the character, both of which are usually jobs in themselves. Just don’t underestimate how much of a challenge it might be.
The same programs that you would use for a character can do facial animation–you can use a bone rig or morph targets to do that.
Blender doesn’t have a very good FBX exporter, but from what I understand it’s still possible to get almost everything exported with some specific things kept in mind, you’d have to look for a Blender to UE4 guide.
Also look into Maya LT which is a cheaper version for indies.
It’s possible to rig a character to the same skeleton that the UE4 content uses, plus there’s animation retargeting to be able to use rigs that are a bit different.
If you buy an asset from the marketplace, you can use it for a commercial game, you can also use the free content provided by Epic for commercial games.
As for detail/performance, usually you start out by going for the lowest level of quality you find acceptable, keep your high resolution textures saved in case you want to bump something up, it’s very easy to drop a texture resolution down to improve performance.
You can set up LOD’s for characters and for mobile you could then use a lower LOD to improve performance.
You mentioned mirrors a few times, while you can do that on PC, I don’t think mobile supports the 2D reflection capture actor (used to render reflections for floors/mirrors more accurately)