Has he always taken that long? There is a growth spurt right around 4 months that I remember - my dd took forever at that age but I think she was just stimulating my milk supply. I would let him bf for as long as he needs - he is awake right? Before you know if he will be on shorter feeds but I wouldn't push it at this age.
Also, the nightfeeds sound awesome. Before giving him formula, however, you might want to try feeding him at 4 when he gets up at first (it might push him to sleep til 7 too) - most BF LO's need that 4am night feed for several months. Mine didn't drop hers until 11 months.
Hope that helps!