日付の値はリテラル文字列であるため、一重引用符で囲んでください。そうしないと、MySQLはそれが日付であり、数値ではないことを認識できません(2011 MINUS 1 MINUS 1 =2009)。
それらの周りにDATE()キャストも必要ありません。
SELECT
*
FROM
shortleavedetails
WHERE
employee_code = '17'
AND
(DATE(authorizeddate) <= '2011-01-01'
AND
DATE(authorizeddate) >= '2010-05-01')