Well if you want things to be simpler, moving to a different development option probably wont help much lol. Most are a fair bit more complicated in terms of deployment, as well as just coding the game in general. Sure moving to a different option might give you the ability to detect if a particular word is under the cursor, but at what cost?
If you want a really simple game dev option [RAD], try GM:Studio, Construct 2, Stency, GameSalad etc. If you're looking to actually code your game, some decent options (off the top of my head) are Cocos2d, Monogame, MonkeyX, and Corona SDK. However I've tried literally all of those, and I keep coming back to AGK. Sure some things in AppGameKit suck, but you can work around most of them. On the other hand, AppGameKit has so many amazing benefits that these other options don't. Like instantly deploying your game to test on your mobile, fast compile times, one click deploy to any platform.
Alternative IDEs aside, if the idea of using an array of text objects doesn't appeal to you (so much that you would leave our beloved AGK), there are other ways of doing it.
So one way would be to create your own custom text type and use the same technique I outlined above. So it would work the way I said, but you would write a custom type that includes an array containing each text object.
You can then create your own function to create text which automatically splits it into separate text objects and places them. Whenever you move or modify the text, you would use your own custom functions that do it for all text objects. It would take a bit of effort to set up the system, but once you've made it, it would be as simple to use as the inbuilt text commands.
Another option (which might appeal to you more) is to simply calculate the hit box for a particular word using GetTextCharX to find the offset.
Literally you could probably use this function (untested)
//use integer FindString( str, findStr, ignoreCase, start ) to find the locations of each space in the text string and use those positions for firstChar and lastChar
function TextCharsCollision(text,firstChar, lastChar, x as float,y as float)
xb1#= (GetTextX(text)+GetTextCharX(text,firstChar))
xb2#= (GetTextX(text)+GetTextCharX(text,lastChar))
yb1#= (GetTextY(text)+GetTextCharY(text,firstChar))
yb2#= (GetTextY(text)+GetTextCharY(text,lastChar))
ret=0
if x>xb1# and x<xb2# and y<yb1# and y>yb2# then ret=1
endfunction
This will let you know if a certain substring is being pressed. It would be easy to modify it so it automatically parses the string for spaces and iterates through each substring.