I can't find a way to return the unencoded page name of a sitelink. There are several scenarios where it would be useful:
Including sitelinks in the results at the moment makes the results hard to read, e.g. You might create a query like this one which selects ruwiki and ukwiki sitelinks for cities in Ukraine to find pages which are missing sitelinks. The length of the sitelink URLs makes the results display as lists rather than columns and since the page name is URL encoded, you can't tell what the page is. Being able to display the page name Чернобыль in the results instead of <https://ru.wikipedia.org/wiki/Чернобыль> would be much more useful here.
Another use would be when you want to map Wikidata items to page names (e.g. if you want to make a list of links for a wiki page from a query). For things like that, you want unencoded page names, not the full URL encoded URL. There was someone on IRC the other day trying to do something like that.
A third use case I've had, I wanted to compare labels and sitelink links for some items, to find the ones where the label might need updating, but couldn't do it very effectively because one is URL encoded and the other isn't.
I could imagine having a new predicate so that you can use something like ?sitelink prefix:pageName ?pagename or having a function for decoding the sitelink so that you can do something like bind(decodefunction(substr(str(?sitelink), 31)) as ?pagename).
Result: schema:name is added