Person who’s picky, upset and in a bad mood (6)
I believe the answer is:
pedant
'person who's picky' is the definition.
(someone picking faults in things)
'upset and in a bad mood' is the wordplay.
'upset' indicates anagramming the letters.
'in' means one lot of letters goes inside another.
'a bad mood' becomes 'pet' (informal term for sulking).
'and' anagrammed gives 'dan'.
'dan' going into 'pet' is 'PEDANT'.
(Other definitions for pedant that I've seen before include "Old teacher" , "One concerned with excessive detail" , "Pentad (anag.)" , "Particular type" , "A sticklet for formal rules and details" .)