I am posting the three solutions to my question.
I would like to thank following people for their contribution:
#! /bin/sh
#Solution 1: The QUOTES are very important.
set `date`; mo=$2; day=$3
echo "Today is $mo $day"
awk -F: '$2 == "'$mo'" { print $2, $3, $1 }' bdays
# =======
#Solution 2: Here since we are searching for $2 in awk
# in the entire input line, there is a chance
# that name Maria may also be echoed unnecessarily
# during March even if her b'day is in say December.
#! /bin/sh
set `date`; mo=$2; day=$3
echo "Today is $mo $day"
awk -F: '/'$2'/ { print a, $3, $1 }' a=$2 bdays
#Solution 3: Alternative for Solution 2
#Data file format should be Month:Day:Name in this case
#! /bin/sh
set `date`; mo=$2; day=$3
echo "Today is $mo $day"
awk -F: '/'^$2'/ { print $1, $2, $3 }' a=$2 bdays
Note: Please note defining variable 'a' on command line of awk.
It is used in print statement(in solution 2).