I don't know if there's a way to do it in SmartConsole, but it's pretty easy with the API. You can use a script a bit like this:
mgmt_cli -r true \
show services-tcp \
details-level full \
limit 500 \
offset 0 \
--format json \
| jq -c ".objects[]|{timeout:.\"session-timeout\",name:.name}"
That will spit out data like this:
{"timeout":3600,"name":"AOL"}
{"timeout":3600,"name":"AP-Defender"}
{"timeout":3600,"name":"AT-Defender"}
...
The maximum number of entries a single API call can return is 500. If you have more than 500 TCP services, you would need to run this several times with stepped offsets. First time with offset 0, second with offset 500, and so on.
For UDP, it's the same thing, just with 'show services-udp' in the second line.
Once you have the output, you can filter it in whatever way you want. 'grep -v ":3600,"' would be a good option to get rid of TCP services with the default timeout.