Moin,
ach mist, jetzt ist es wieder passiert, dass ich jemanden von den Pics vergraule *G* Lange Zeit hab ich fast militant zu denen Gestanden, weil ich immer nur hörte "AVRs sind besser", mittlerweile sehe ich aber auch objektiv die Vorteile.

Also Bascom wäre der AVR-Basic-Compiler, dort gibt es wohl die meisten Funktionen, die du brauchst schon vorgefertigt (I2C, sogar Servomotoren meine ich, Warteschleifen..).
Es gibt günstige Programmer, die mit freier Software laufen, für den Parallelport lässt sich das mit einem TTL-Gatter und einem Stück Platine+3 Kondensatoren, Widerständen usw. aufbauen, kosten von unter 10€. Dann gibt es auch noch die USB-Versionen, z.B. MySmartUSB oder so, von MyAVR. Ich selbst hab für AVRs das Atmel AVR ISP MKII, ist schon eins der teuersten mit 45€, ist aber voll in die Entwicklungsumgebung von Atmel, AVR Studio integriert.
Bascom bringt ne eigene Entwicklungsumgebung mit und nutzt meine ich externe Programme wie PonyProg um den AVR zu brennen.

Schau mal im Roboternetz Shop http://www.shop.robotikhardware.de oder bei http://shop.embedded-projects.net
Da gibts Platinen für einen ISP Programmer ab 6,60 oder so, müssen noch mit Teilen für 1,50 bestückt werden und in ein Parallelportgehäuse, fertig.

Der Vorteil für dich wäre noch, dass AVR mit Bascom sehr oft auf deutschen Seiten besprochen wird und es viele Leute gibt, die dir helfen können. PICs sind häufiger englischsprachig vertreten.

Die I2C Programmierung ist nicht wild, da PICs und AVRs Hardwaremodule haben. Du musst diese nur nach Datenblatt konfigurieren, eben wie du es willst, und kannst danach Daten schicken, indem du einfach das Byte in ein Register schreibst und ein Bit setzt.
Empfangen wird ebenfalls per Hardware, du musst nurnoch regelmäßig abfragen, ob es schon ein neues Datenbyte gibt, oder kannst auch einen Interrupt aktivieren, der das automatisch beim Eintreffen behandelt. Das ist wirklich nicht schwer und wird auch in den Datenblättern gut beschrieben, ansonsten gibts hier ne Menge netter Helferlein.

Die Steuerung des Servos funktioniert so, wie du sagtest, alle 20ms wird ein High-Pegel zwischen 1-2ms länge gesendet. 1,5ms ist Mittelstellung. Du kannst also einfach eine Warteschleife machen, die den Pin High schaltet und abhängig von einer Variablen die gewünschte Zeit abwartet und danach wieder Low schaltet. Das muss sich halt alle 20ms wiederholen. Den Wert der Variablen kannst du dann ins EEPROM schreiben.
EEPROM schreiben ist nicht ganz so simpel (egal ob PIC oder AVR), da es einen Sicherheitsmechanismus gibt. Du musst zum schreiben eine bestimmte Befehlsreihenfolge einhalten. Das findest du aber auch im Datenblatt, für Assembler, kannst es einfach rauskopieren und in den Code einfügen. Bascom hat wieder fertige Routinen, die du aus einer Bibliothek nimmst.
Würd mich freuen weiter von dem Projekt zu hören, und was du nun machen willst.
MfG
Björn