You can provide a callable as a filter:
dates = soup.findAll("div", {"id" : lambda L: L and L.startswith('date')})
Or as @DSM points out
dates = soup.findAll("div", {"id" : re.compile('date.*')})
as BeautifulSoup will recognise a RegExp object and call its .match()
method.