For Number 1, I suggest this PHP Class:
http://www.phpclasses.org/browse/package/1992.html
Regarding Number 2, you will have to write your own database to keep track of searched words and store the result set for quick retrieval. There is no easy way around that one.
Regarding Number 3, you would have to use "The Way Back" machine at:
http://www.archive.org/
Basically you would first grab the archived version of the URL from the internet archive, and create a small summary of it to the user.
Regarding Number 4, I am not sure why you would have to query a dicitonary. Don't you mean a domain registration database?