Can I build my models in a schema other than my target schema?

Or: Can I split my models across multiple schemas?

Yes! Use the schema configuration in your dbt_project.yml file, or using a config block:

dbt_project.yml
name: jaffle_shop
...
models:
jaffle_shop:
marketing:
schema: marketing # seeds in the `models/mapping/ subdirectory will use the marketing schema
models/customers.sql
{{
config(
schema='core'
)
}}