Young small breed pups should eat 3-6 meals per day. Usually people do 3-4.
Yes, 7 pm til morning is too long without food in my opinion.
Most people leave water out 24/7.
If you pick it up at 7, the pup would have to go 12 hours without drinking if he/she gets thirsty and that is way too long for any dog.
I don't give water at night only because Ellie rarely gets thirsty then.
She is busy sleeping.