We are working on auto compaction. The Couchbase alpha already supports it. This should help, but it will help even more on a cluster as each shard can be compacted independently.
Yes, but only when certain configurable conditions are met (fragmentation level, time period). There's some user level documentation in the default.ini config file: