This sort of thing is much more difficult than it should be with most tools. GNU `awk` and Perl's POSIX module both give you a `strftime()`, but not a `strptime()`, which is what you want.
In any case, it is still pretty easy with Perl...
$ perl -MDate::Manip -lpe '$_=UnixDate(ParseDate($_), "%Y%m%d")' <
> December 9th, 2010
> END
20110729
20101209
Obviously there's more to it, since you actually want to convert the HTML. If you can figure out a regex with sed that will work to _find_ the date strings, you should be able to do something very similar with Perl.
$ perl -MDate::Manip -lpe 's/(")([^"]+)(")/$1 . UnixDate(ParseDate($2), "%Y%m%d") . $3/ge' <
"December 9th, 2010"
END
dates enclosed "20110729" in quotes
"20101209"