Repopulate a static select input
No, I don't think there's a better way, you need to add that conditional to each select option.
But what you could do is to refactor a bit and move that logic to a Twig macro.

{% macro stateOption(id, name, selectedId) %}
    &lt;option value="{{ id }}"{{ id == selectedId ? ' selected="selected"' }}&gt;{{ name }}&lt;/option&gt;
{% endmacro %}
{% import _self as forms %}

{% set selectedId = craft.request.getParam('state') %}

{% set states = {
    'AL': 'Alabama',
    'AK': 'Alaska',
    'AZ': 'Arizona',
} %}

&lt;select id="state" name="state"&gt;
    &lt;option value=""&gt;Select&lt;/option&gt;

    {# Go through states and use the custom macro to generate the select options #}
    {% for id, name in states %}
        {{ forms.stateOption(id, name, selectedId) }}
    {% endfor %}
&lt;/select&gt;