Instead of SQS it uses RabbitMQ. I don't know about it's limits but since a serious RabbitMQ installation can handle something like millions of messages per second I assume the limits you will hit are in the persistence solution on celeryd. It can use a Tokyo Tyrant or MongoDB backend instead of a RDBMS, as well as memcached support. Those seem like they would help in that department.
I don't think you can change trees after they are sent (you mean subtasks, right?).
You can see logging example at "defining and executing tasks" section here: http://ask.github.com/celery/introduction.html#usage
Sorry, I am only a light user at this point in time.