Well, anything is possible. Analyzing the memory in real-time could be difficult, if those systems were not designed with that feature in mind. If it's just one byte of memory that stands alone (such as score data), that should be fairly simple. If the meaning of the code/memory depends on the current contents of other code/memory, then things could get out of hand very quickly. Probably easier to do on a PC-based emulator where you're not racing against a system clock. In fact, to combine that with the reference to the key-logging idea, you could log the gameplay, then have the emulator play it back, and perform an infinite amount of analysis at it's own leisurely pace.
Technically feasible in general yes, on AVS or Analogue NT, I don't know. As for being practical, it would take a quite a lot of effort to create the achievements, find their conditions, and test them 100%.
I imagine the AVS scoreboard works pretty well because things like high score values in games should tend to be consistent. It doesn't need to be real-time because the game would write it and leave it alone. But if we look at say, the number of times the player has died by itself, then SMB's attract mode demo might be considered a no-death run unless the code analyzer has enough info about the context. This kind-of needs to be analyzed in real-time because the info you want may be something the game considers to be a temporary value depending on what's happening in the game at that exact moment.
-------------------------