• Though this is late, maybe it will help someone else.

    You need to have setupadmin rights first, then run

    GRANT ALTER ANY LINKED SERVER TO loginname

    Now you will be able create or alter linked servers in SQL Server 2008

    Now, for SQL Server 2012 - it's a different story.

    USE master;

    GRANT CONTROL SERVER TO loginname;

    GO

    USE master;

    GRANT ALTER ANY LINKED SERVER TO loginname WITH GRANT OPTION;

    GO

    NOTE: "WITH GRANT OPTION" should likely be left off, unless you want this user to be able to GRANT these permissions