The percona tools don't take the standard mysql client arguments. You need to specify a DSN in their format. See http://www.percona.com/doc/percona-toolkit/2.0/pt-table-checksum.html#dsn-options
You'll want something like
pt-table-checksum h=myhost,u=user,p=pass,P=port
Personally I don't like putting credentials in something that will show up in the processlist so you can do
pt-table-checksum --defaults-file=/path/to/my.cnf h=myhost,P=port
where the my.cnf looks like
[client]
user=usernameXYZ
password=asdf234JKL
If you want this to replicate through to your slaves you need to specify a --replicate option that tells it the table to place the checksums in (and consequently put the slave values into on each respective slave). If this is your first time you might want to have it create that table for you with --create-replicate-table.
It won't need to directly connect to the slaves unless you want it to monitor the slaves for falling behind. It basically issues queries like
replace into checksumsTables ... (masterV1, masterV2, (select blah...))
where the literal master values are written to the binlog along w/ the select portion of the replace. When that executes on the slaves the select does it's think to get the slaves checksums.
I've spent a lot of time with this tool recently so start out with that and reply with more specific problems you need help with so I don't just rewrite the entire manual and every possible thing that can go wrong.
Note: if you run
export PTDEBUG=1
Before any percona script it will give you TONS of debug info that can help point you in the direction of what's going wrong. Also remember these are all perl script so you can inspect the source yourself to (maybe) see what's going wrong.