通常の Babel 用のものに加えて(*)の記述が必要です。
\documentclass[a4paper,12pt,uplatex]{jsarticle}
\kcatcode`α=15 (*)
\kcatcode`ἀ=15 (*)
\kcatcode`“=15 (*)
\usepackage{ucs} (*)
\usepackage[utf8x]{inputenc} (*)
\usepackage[greek,english,japanese]{babel}
\languageattribute{greek}{polutoniko}
\kcatcode`“=15 の記述を加えると和文の「—」(全角ダーシ)や「…」など、2000から206Fの範囲にある文字が欧文扱いになります。このとき、たとえば「—」(全角ダーシ)は組版の際に unicode パッケージによってコマンドに置き換えられるので、okumacro パッケージで定義されている \—— を使おうとするとエラーになります。この場合は \—— を他のコマンドで置き換えます。