I am not aware of a way that automates it. You can look through the developerforce documentation on Chatter to double check, but I didn't see anything in it.
Using the chrome developer console, I examined the http request that SF sends when you post a comment with a @mention in it.
The ajax post of a normal chatter post of @[Peter Knolle] - Hey there! on an Account record posts a param to /chatter/handlers/feeditems of text={@005d0000000xhgo} - Hey there! in addition to other stuff, so I guess that the standard Salesforce chatter code parses that ID out to create the link and creates relevant posts in the referenced objects' feeds. As you said, it'd be nice to have the apex engine handle that behind the scenes by parsing out the FeedItem body and creating relevant posts (e.g., able to do post.Body='{@005d0000000xhgo} - Hey there!' on a FeedItem post and have SF linkify it and create the related object post.
So, I think that you'd have to manually create the link for the @mention and the other posts for the @mentioned objects. For example if you @mention a user then a post is made to their user profile as well as the object (e.g., Account) that you are creating the post for. If you are creating the feed post via Apex without any user input you should know what type of objects are being used and how to get their Ids to create the link; however if you are taking text input from the user then you wouldn't have a way to know that.