Is it possible to Filter entry types via the URL? I'm wondering if it's possible to dynamically filter a section list by entry type based on a url segment?

I'm hoping to avoid assigning a category to every entry.
Yes, it is possible.

Pass the entry type handle to a segment and access that segment using the craft.request getSegment() method. Use this segment variable with the craft.entries .type() method to fetch only the entries of the given type. The example below assumes your entry type handle is in segment 2.

{% set entries = craft.entries.section('pages').type(craft.request.getSegment(2)) %}

{% for entry in entries %}
    &lt;li&gt;{{ entry.title }}&lt;/li&gt;
{% endfor %}