1, 2, 3: тысячу

"Тысяча котов" is a genitive construction of 2 nouns. Literally, "a thousand of cats". Declension of such constructions is simple: the head noun declines and the second noun always stays in genitive.
In the given examples ("вижу", "избил") the verb requires accusative so тысяча becomes тысячу.

Words such as два, пять, одиннадцать, тридцать and so on are not nouns, but numerals. Declension of constructions with numerals is more complicated. For example:
два кота
двух котов
двум котам
двух котов
двумя котами
двух котах


Note:
In the modern standard language тысяча behaves as a noun and has 1-st noun declension.
However, some writers of 19th century used тысяча as a numeral:

Если б милые девицы
Так могли летать, как птицы,
И садились на сучках,
Я желал бы быть сучочком,
Чтобы тысячам девочкам
На моих сидеть ветвях.
Пусть сидели бы и пели,
Вили гнезды и свистели,
Выводили и птенцов;
Никогда б я не сгибался,
Вечно ими любовался,
Был счастливей всех сучков.

(Державин)

Should be: тысячам девочек

Ней, шедший последним (потому что, несмотря на несчастное их положение или именно вследствие его, им хотелось побить тот пол, который ушиб их, он занялся взрыванием никому не мешавших стен Смоленска), — шедший последним, Ней, с своим десятитысячным корпусом, прибежал в Оршу к Наполеону только с тысячью человеками, побросав и всех людей, и все пушки и ночью, украдучись, пробравшись лесом через Днепр.
(Толстой)

Should be: тысячей человек


4. он избил тысячу двух котов
он избил тысячу котов + он избил двух котов -> он избил тысячу двух котов

Тысяча два кота is a "sum" of 2 parts: тысяча котов + два кота -> тысяча + два кота. So, each "head" of the chain should be declined:
Accusative: тысячу котов + двух котов -> тысячу + двух котов
Dative: тысяче котов + двум котам -> тысяче + двум котам
Dative of 2001003 cats -> двум миллионам котов + одной тысяче котов + трём котам -> двум миллионам и одной тысяче трём котам


5. избиение тысячи двух котов было ужасно
6. он избил одиннадцать тысяч двух котов (одиннадцать тысяч котов + двух котов -> одиннадцать тысяч двух котов)
8. он избил миллион двух котов
...and so on.

A common mistake in everyday speech is declining only the first part of the chain. We often speak "он избил тысячу два кота" instead of "он избил тысячу двух котов". That is wrong.