for a quadcopter we use three gyros (yaw,roll,pitch) for stability
Wouldn't it be more efficient to use one 3 axis gyro? It's cheaper, uses less power, is lighter and possibly requires less interface pins.
is it possible to make a custom microcontroller board usig external gyros with a self made program?
Are You asking if it is possible to get uC and gyro separately, put them to one board and write own code for it? Yes, that's what people do

and if we use the gyros how do we give its output to the microcontroller?
There are digital gyros and analog ones. Digital gyros normally use serial communication (eg.: I2C) and analog gyros output voltage which should be read by ADC in uC.
how do we program the microcontroller to read the gyro outputs and accordingly control the motors throughthe ESCs( or motor driver)?
It depends on what type of gyro You use. Having that said, no one is going to write code for You, so better start looking for I2C and ADC tutorials, there are plenty of them online

Good luck
