I like Lettuce, and the feel of testing with it. Could I replace all the tests ( doctests/unit tests ) in a project with Lettuce features?
It is a poor idea to use Gherkin/Lettuce for everything.
1) You should never do away with manual testing entirely. You might replace repetitive scripted testing, but you need to run the software past someone who can misunderstand or misuse it. Creative, destructive, human testing is important -- but the heavy lifting (90%+ of all testing) should be automated.
2) Another reason is covered alread: it runs slowly compared to unit tests. I find that the longer it takes to run a test, the less likely people are to run it frequently. You want it to be a non-decision to run the tests after each change, maybe 2 or 3 times every 5 minutes (yes, that fast!).
3) Personally, I think that writing unittests with sniffer or autonose in a different window gives me the very best environment for test-driving code. I don't know how to do that with lettuce. 
4) Why switch out languages if you don't have to? Unittest is in python, and there are no fixtures or thunks of any sort to get to the code you're interested in testing. It works well with mocks and fakes. Gherkin is fun, but it's got more plumbing involved. The extra plumbing is great if you have non-programmers writing tests, but otherwise is just overhead.
Can BDD testing with Lettuce replace all other forms of testing in a project?