Here is alternative way to delete old accounts
DELETE FROM `realmd`.`account` WHERE DATE_SUB(CURDATE(),INTERVAL 365 DAY) > `last_login`;
On the first look at your character_* query's you should do this one
DELETE FROM `character_social` WHERE `friend` NOT IN( SELECT `guid` FROM `characters` );
Yours item delete query is very slow (at least for me). This is my version
CREATE TABLE `tmp_table` (
`guid` bigint unsigned NOT NULL,
PRIMARY KEY (`guid`)
) ENGINE=InnoDB;
REPLACE INTO `tmp_table` SELECT `item` FROM `character_inventory`;
REPLACE INTO `tmp_table` SELECT `itemguid` FROM `auction`;
REPLACE INTO `tmp_table` SELECT `item_guid` FROM `guild_bank_item`;
REPLACE INTO `tmp_table` SELECT `item_guid` FROM `mail_items`;
REPLACE INTO `tmp_table` SELECT `item_guid` FROM `character_gifts`;
DELETE FROM `item_instance` WHERE `guid` NOT IN( SELECT `guid` FROM `tmp_table` );
DROP TABLE IF EXISTS `tmp_table`;