Will the old version of the index be available while the statement is running?
Yes.
Please explain the interaction between ONLINE=ON and DROP_EXISTING=ON. My understanding of this is that I should include both clauses.
I think so too. ONLINE = ON means that you want the table to be available while the CREATE INDEX operation is running.
DROP_EXISTING = ON, means that you want to create a new index with the same name, without first dropping the existing index. This is particularly powerful when redefining a clustered index, since this saves you from one round of updating all the non-clustered index.
But as the BOL topic says, you may also get the gain of that SQL Server is able to use the existing sort order when all you do is to add an included column.
Will I increase locking/blocking while the statement is running?
Yes. While it is an ONLINE operation, Sch-M (schema modification) locks are taken on two occasions: once when the operation starts, once when it completes. These locks are for metadata operations and are usually shortlived. However, if there is a long-running query, this query will block the Sch-M lock, and the request for the Sch-M will block all other processes from accessing the table. Some operations has a WAIT_AT_LOW_PRIORITY option to avoid this issue, but I can't see it for CREATE INDEX.
Thus, you may not want to run this command during periods when the table is really busy. Then again, if most queries are short, this is unlikely to be an issue.
During the it actually builds in the index, no locks are held.