Ja, det går att skapa en anpassad tangentbordslayout. Dokumentationen på hur man gör var i alla fall när jag gjorde det en smula bristfällig, och med min metod kan man få problem i vissa (urgamla) Carbon-program, men det har bara hänt mig vid något tillfälle. Under Panther tror jag inte att jag har haft några problem alls, utom med GLTerm som kraschar direkt om man har sin egna, anpassade layout...
Hur som helst, det du gör är att skapa en .keylayout-fil i ~/Library/Keyboard Layouts/ (skapa katalogen om den inte finns). Jag bifogar min fil, som i och för sig inte gör det du vill, men som kan tjäna som ett exempel. Det jag har gjort är att mappa om bland annat { och } så att de ligger på samma ställen som på ett PC-tangentbord (vem kom på idéen med Shift+Alt+8?), och sätta | på rätt ställe.
Som en bieffekt av att jag inte orkade fixa alla upptänkliga mappningar funkar också alla tangentbordskommandon i Safari för mig, det gör de normalt inte med engelsk Safari och Swedish - Pro-layouten.
För att aktivera din nya layout, gå in under System Preferences > International > Input Menu, och kryssa för din nya layout. Sedan kan du också kryssa för "Show input menu in menu bar", så kan du enkelt byta om du skulle behöva göra det.