Can a non-rated tournament having all categories play in a single group and then the ranking decided based on overall performance?
Certainly and it is often the best option. Note that this is also often a perfectly good solution for rated tournaments.
The situation where it is the best option is where one or more of the categories has few players. Then including the small category in a much larger tournament allows the players in the small category to have more and better games.
I remember a European senior (both S50 and S65) team championships a few years ago where there was supposed to be a separate category for women in each of the two age groups. In the end there were fewer women's teams than rounds and the organisers made the quick decision to have one tournament for all S50 teams and one tournament for all S65 teams rather than 4 separate tournaments.
To give an example of a FIDE rated tournament with different category prizes here is the entry in the English Chess Federation calendar for our club's annual FIDE rated blitz:
9 round FIDE rated blitz, 5+2, prizes for first 3 players plus 2 grading prizes, junior and senior (S65), max one prize per person
The junior prize, if memory serves me, was for the best score by an U18 player. The ratings for the grading prizes are deliberately not mentioned because they are determined on the day according to entry. On the day there were 45 entries so the first grading prize was set between the ratings of the 15th and 16th players in the rating rank order of players and the second between 30th and 31st.
The way this works in practice is very simple. You run the tournament as normal and at the end give out the prizes according to who finishes in which position. If you are using Swiss Manager for the pairing then there are settings you can use which will identify the different category prizes very easily.