I use Toodledo and it does pretty much everything you're asking for with the web-based and iPhone/iPad apps. It even works on PC's and a Blackberry and I even print it out occasionally.