SQL Server (2012) non-blocking DDL?
No there's no way of configuring SQL Server to do what you want to do. 

Under snapshot isolation the call to sp_tables gets blocked waiting for a shared key lock on one of the system base tables (sysschobjs) when doing a SELECT from sys.all_objects

The Using Row Versioning-based Isolation Levels topic in BOL does say:


  SQL Server does not keep multiple versions of system metadata. Data
  definition language (DDL) statements on tables and other database
  objects (indexes, views, data types, stored procedures, and common
  language runtime functions) change metadata.


Even under TRANSACTION ISOLATION LEVEL READ UNCOMMITTED the call to sp_tables ends up blocking however, whilst the straight forward SELECT ... FROM sys.all_objects is no longer blocked the same query references the HAS_PERMS_BY_NAME function in the WHERE clause. This appears to start a system transaction (CMetadataAccessor::CMetadataAcce) at a higher isolation level and ends up getting blocked waiting for a shared key lock on sysschobjs again.