Can sub-selects change in one single query in a read committed transaction?
No, that's not possible. 

A single query (and even a query with many sub-queries is considered a single query) sees a consistent state of the database as it was when that query started. 

It's not even necessary to use explicit transaction control as you did.