Yes, you could do that but you need to include a (stop:) macro in the associated hook to stop the (live:) macro re-displaying the same text every 3 seconds until the Reader moves to another passage.
(live: 3s)[hiddentext (stop:)]
The downsides of doing it this way are:
a. You have less control on the extract positioning of the hidden text within the over all page.
b. It becomes an issue if you want multiple hidden things within the same Passage, because each (live:) macro in a passage creates it's own timer thread handler and each of these handlers interfere with the Readers ability to interact with the page.
eg. to reveal two things at the same time.
The quick|hidden)[ brown] fox jumbed over the|hidden)[ lazy] dog.
(live: 3s)[{
(show: ?hidden)
(stop:)
}]
eg. to reveal two things, one after another.
The quick|fox)[ brown] fox jumbed over the|dog)[ lazy] dog.
(set: $counter to 0)
(live: 2s)[\
(set: $counter to it + 1)
(if: $counter is 1)[
(show: ?fox)
]
(else-if: $counter is 2)[
(show: ?dog)
(stop:)
]
]
Like I originally stated, it greatly depend on exactly what "things" you are trying to reveal.