>>90
無理だと思う。正規表現は集合間の写像は表現できない。

ひらがなとカタカナの文字コードの連続性を利用するといいかも知れない。
>>> print re.sub(u"[\u3041-\u3093]", lambda m: unichr(ord(m.group()) + 0x60), unicode("ぴちょん", "euc-jp")).encode("euc-jp")
ピチョン
>>>