Expect that some of the search engines won't be able to index them. Consider creating static pages whenever possible, perhaps using the database to update the pages, not to generate them on the fly.
Search engines tend to choke on it.
Almost all databases these days have full text search capabilities built-in. MySQL, Oracle, SQL Server, all of them do. So that makes it pretty darn easy for the basics. MySQL even has built-in rankings etc. As for other capabilities, well most of the plug into all the common interfaces, so you shouldn't have any real problems.