Viiiieeele Fragen auf einmal ...
Ob du mit frog arbeiten willst oder nicht, solltest du am besten bald entscheiden; davon hängt ja ab, wie es weitergeht.
Ein Vorteil - neben anderen schon genannten - könnte sein, dass es eine m.E. gute und ziemlich ausführliche deutschsprachige Anleitung dazu gibt. Entsprechendes zu Tkinter kenne ich nur englischsprachig.
Nochmal zu speed = "max": Das Attribut animate gibt es in der aktuellen Version 0.75 nicht mehr. Es bringt also gar nichts, wenn du es verwendest. Schneller als mit speed = "max" wird der Frosch halt nicht.
Meine in einem früheren Post geschilderte Idee mit der sechseckigen Frosch-Form macht das ganze (geschätzt) doppelt so schnell, was aber immer noch langsam ist. Du müsstest dir also überlegen, ob du damit leben kannst.
Sonst versenke den Frosch im Teich und mach es allein mit Tkinter.
-------------
Ob du eine Pool()-Instanz eigenständig verwendest oder in eine Tkinter-GUI einbindest, hängt davon ab, wie deine Oberfläche später aussehen soll. Eigentlich geht so ziemlich alles auch mit einem reinen Pool soweit ich das sehe, bis auf ein Menü ala Menu-Widget.
In deinem Fall füllt das Spielfeld ja eigentlich alles aus, so dass es wohl wenig Sinn macht, den Pool/Canvas in eine Tkinter-GUI einzubetten.
---------------
Die Koordinaten der einzelnen Felder hast du schon.
Du musst sie nur in einer geeigneten Datenstruktur speichern. Hier wäre nochmal als Stichwort "Trennung von Spiellogik und Darstellung" zu nennen.
Du brauchst die Koordinaten nur jedesmal, bevor du ein Sechseck zeichnest, vom Frosch abzufragen:
pos = frog.pos (das dürfte dann wohl die linke untere Ecke des Sechsecks sein).
Das Ändern der Farbe ist auch kein Problem, wenn du diese Koordinaten geeignet speicherst. Du brauchst dann an dieser Stelle ja nur ein neues Sechseck mit der Wunschfarbe drüber zeichnen zu lassen.
Das Attribut lastitem brauchst du nicht unbedingt. Der Frosch benutzt diese ID nur zum Löschen von Objekten. Natürlich kannst du beim Neuzeichnen eines Sechsecks mit geänderter Farbe das darunterliegende auch löschen, damit die Gesamtzahl der Items nicht unnötig steigt und die Performanz dadurch weiter sinkt.