Is it possible to filter entries based on entry table field values?
OK, one possible way is the use the value of the colour field in an if statement, something this:

{# list rows that have "blue" in the colour field #}
{% for row in table.fieldName %}
{% if row.colour == 'blue' %} // probably best to make "blue" a variable
    &lt;li&gt;{{ row.age }} - {{ row.provider }} - etc.&lt;/li&gt;
{% endif %}


In order to sort the table by a field value you will have to create a new array with the table data, then order by the name value. Will work that up for you in a bit

You could also do it with JavaScript, but that is nasty. 

Here is the complete code using an Array to sort by the age field:

{% set tableBlock = [] %}
{% set tableRow = [] %} 

{% for row in entry.myTableField %} 
    {% if row.colour == "blue" %}

    {% set tableRow = {
        'age' : row.age,
        'colour' : row.colour,
        'provider' : row.provider
    } %}
{% set tableBlock = tableBlock|merge([tableRow]) %} 
    {% endif %}

{% endfor %}

{% for row in tableBlock|sort %}
    {{row.age}} {{row.colour}} {{row.provider}}
{% endfor %}

For some reason the code block formatting is not working...