Can a Magento 2 Theme Modify the Layout?

You have two options, you can either extend or overwrite the existing XML.

Extending

To extend an existing layout in a similar fashion to local.xml in Magento 1 you need to add an XML file in a location like this:

<theme_dir>
 |__/<Namespace>_<Module>
   |__/layout
     |--<layout1>.xml
     |--<layout2>.xml

Where <layout1> and <layout2> are your layout handles, for example:

<your_theme_dir>/Magento_Catalog/layout/catalog_product_view.xml

Official documentation can be found here - http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/layout-extend.html

Overwriting

Overwriting XML is done in the same way, it's just the file location that changes. You can overwrite the base module's XML or the parent theme's XML, the file location determines which is overwritten.

To overwrite the base module's XML place your XML file in:

<theme_dir>
  |__/<Namespace_Module>
    |__/layout
      |__/override
         |__/base
           |--<layout1>.xml
           |--<layout2>.xml

To overwrite the parent theme's XML place your XML file in:

<theme_dir>
  |__/<Namespace_Module>
    |__/layout
      |__/override
         |__/theme
            |__/<Parent_Vendor>
               |__/<parent_theme>
                  |--<layout1>.xml
                  |--<layout2>.xml

Official documentation can be seen here - http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/layout-override.html


Magento 2 has no concept of a local.xml file. However, when a theme includes a specific layout handle XML file from a specific module

vendor//magento/theme-frontend-blank/Magento_Theme/layout/default.xml 

Magento doesn't replace the original module's file, it simply merges the new layout handle XML file in the theme with the module's core file. Seems like a better system all around, as theme developers can no long accidentally remove important features.