Sim, facilmente, inclusive o bitcoin core tem essa opção já embutida: se setar o "minrelayfee" ele não vai minerar nem repassar transações com fee menor que aquele valor.
Essa já é praticamente impossivel. A menos que vc tenha conexão direta com todas as carteiras do sistema, você não tem como saber de onde uma transação veio. E mesmo tendo conexão com todas as carteiras, alguma lentidão na rede pode te fazer receber ela por uma carteira diferente da que originou. Você pode, por exemplo, banir determinados endereços que você sabe serem de alguem que você nao gosta, mas por local não tem como.