A.C.
It could be that your daughter is physically ready to give up her up her 2nd nap and just go to 1 nap per day. You might try for a week or two and see how that goes. Instead of letting her go back to sleep at 8 or 8:30 am, keep her up till 10 or 11, and see if she'll nap.
She only needs X amount of sleep per day (and you can probably tell figure that out, based on her days when she's not crabby, by counting the total hours of sleep. You want her to go to sleep and sleep till 6 am at least, so make sure that whatever time you want her to go to bed at night, and sleep till 6 am, you don't let her "oversleep" during her nap. If she needs 1.5 hours during her nap, try not to let her go over that.
Then, the 2nd part of this is to make sure you keep her up till her bedtime. For my little guy, I take him outside and let him walk around/play. That helps keep him active & awake. I usually take him inside about 30 or 40 minutes before bedtime for a snack and a bath, if needed, and read a couple of books.
If you don't want to try to mess with her naps (which, if she's sleeping too long during the day, will definitely effect her nighttime sleep), you can try pushing her bed time back an hour or so. Just make sure that if you do that, you don't let her sleep extra during the day (if she's tired because she woke up again at 4:45, then she may try to nap extra long during the day)....
It is so hard dealing with a cranky little one when you're exhausted yourself. We struggled with sleep during different periods with our LO, and I know we're not done struggling (though we're in a good place at the moment, knock wood). You have my sympathy!
We also put up blackout curtains in his room, and turned on a fan at night for white noise. Both of those help block out the nose of our early-rising neighbors going to work.