That’s not a question that I’m in a position to answer. I don’t know what your data is, what the actual relationships are among your data, and what your requirements are.
I can say that if there is actually a One-to-many relationship between SubCategory and Category, then yes, I would recommend changing the relationship definition in your model to reflect that. It’s likely to make some things easier.
On another note, see this thread (and the referenced blog in the first reply) for information about customizing the individual forms within a formset: Pass different parameters to each form in formset