I want to analyze the gene expression of three genes in a RNA-Seq dataset.
Can I perform Mann-Whitney test using the raw counts table (control vs. treatment)? Is it necessary to normalize the raw counts before a non-parametric data analysis?
You should analyze the full dataset using standard workflows such as limma-voom or DESeq2 and then get the stats for the relevant genes by subsetting. Genes are not independent in such as assay, hence you should take all genes into account. Just run it through the tool and get the significant genes. That's probably even faster than setting up Wilcox testing.
Is it necessary to normalize the raw counts before a non-parametric data analysis?
Of course, normalization to eliminate sequencing depth differences is always necessary in any scenario. Wilcox tests whether ranks are different between groups, and ranks are influenced by counts, hence need normalization to not rank artifically high or low simply by depth differences.