Ok this is a bit off on a tangent maybe, but what if you change the input string you get to match what the date command expects? Here's an example of one way to do just that, using sed (line wrapped with a trailing backslash for clarity):
echo 20091101201023 | \
sed 's/\([0-9][0-9]\)/\1...