I want integrate into QA process automated testing for web application

The important points are
- Load testing
- Functional testing
- Database consistency checking after any kind (load or functional) of test is finished

All this tests requires implementation and maintenance efforts
To minimize the efforts I would like to use the same test scripts for both tests. I understand that functional and load testing is different kind of testing but from my point of view the have something in common: verification of correct behavior of the system.

The load test will also verify the correctness of the system behavior under certain load.
The load test has also other purposes like to find out the bottlenecks of the system, to evaluate the maximum possible load for the system (per 1 GZ of processor and 1 GB of RAM [img]/images/graemlins/smile.gif[/img] )
One of the requirement for load testing is that most of functionality has to be covered with load testing.

I have googled a bit and found many different tools free and commercial
It is difficult for me to decide on any of them just reading about them
What is important for the tool

1) Easy to develop and maintain
2) Test code reusage (the same test can be run with load and and just as a normal functional test)
3) The tool should be quite smart in clicking throughout web application
4) The tool should allow the database checking after test is finished.(e.g. The transaction is finished. Using the transaction id the database is checked if the user's entered information is properly transformed and persisted to database)
5) Simulation more than simultaneous thousand users.
I am far from guru in this kind of testing maybe there are a lot of other important issues I have not mentioned. I would appreciate if you could let me know.

Could you please share your experience in this area and help me to choose the right tool.